我试图制作一个程序来遍历日文字符(Python 2.7),并以可打印的格式返回/产生它们,但我无法将十六进制数字3040-309f)转换为可打印字符的格式。我发现使用u'\ u'工作,但是当我尝试使用unicode('\ u3040')将数字转换为该格式时,它与u'\ u3040'不同。该代码更好地解释了它。如何在不使用u' uXXXX'的情况下打印unicode
>>> s1 = u'\u309d'
>>> s2 = unicode("\u209d")
>>> print type(s1) == type(s2)
True
>>> print s1 == s2
False
>>> print s1, s2
ゝ \u209d
我一直在使用UTF-8和拉丁美洲-1 s2
作为第二个参数尝试过,但它什么都不做。另外,我发现你可以做u'\u{0}'.format(u'3040')
,但我不能在我的迭代器中创建u'3040'
,并且u'\u{0}'.format(unicode('3040')
会产生错误。
那么你从哪里得到你的数据*?也许是JSON? –