在Python中解码unicode字符串

0 投票
1 回答
939 浏览
提问于 2025-04-17 22:24

我想解码以下字符串:

t\u028c\u02c8m\u0250\u0279o\u028a\u032f

这个字符串应该是“tomorrow”(明天)在国际音标(IPA)中的表示,来源于一个JSON字符串,链接是 http://rhymebrain.com/talk?function=getWordInfo&word=tomorrow

我理解它应该是这样的:

x = 't\u028c\u02c8m\u0251\u0279o\u028a\u032f'
print x.decode()

我尝试了来自 这里这里这里这里 的解决方案(还有其他一些类似的),以及它的几个部分的不同组合,但我就是无法让它工作。

谢谢

1 个回答

1

在你使用的Python 2.x版本中,字符串前面需要加一个u,这样才能告诉程序这是一个unicode字符串:

>>> x = u't\u028c\u02c8m\u0251\u0279o\u028a\u032f'  # note the u
>>> print x
tʌˈmɑɹoʊ̯

如果你已经把这个字符串存储在一个变量里,可以用下面的方式把它转换成unicode格式:

>>> s = 't\u028c\u02c8m\u0251\u0279o\u028a\u032f'  # your string has a unicode-escape encoding but is not unicode
>>> x = unicode(s, encoding='unicode-escape')
>>> print x
tʌˈmɑɹoʊ̯
>>> x
u't\u028c\u02c8m\u0251\u0279o\u028a\u032f'  # a unicode string

撰写回答