解码python中的unicode字符串

时间:2014-03-15 01:10:20

标签: python unicode

我想解码以下字符串:

吨\ u028c \ u02c8m \ u0251 \ u0279o \ u028a \ u032f

应该是来自http://rhymebrain.com/talk?function=getWordInfo&word=tomorrow

的JSON字符串中给出的'明天'的IPA

我的理解是它应该是这样的:

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

我尝试了herehereherehere(以及其他一些或多或少适用的)的解决方案,以及其各个部分的几种排列但我无法让它发挥作用。

谢谢

1 个答案:

答案 0 :(得分:1)

在字符串之前需要u(在Python 2.x中,您似乎正在使用它)以指示这是一个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