在Python中解码unicode字符串
我想解码以下字符串:
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