我正在尝试打印一个没有特定编码十六进制的Unicode字符串。我正在从Facebook获取这些数据,它在HTML头中具有UTF-8编码类型。当我打印类型时,它说它是Unicode,但是当我尝试使用unicode-escape解码它时,会出现编码错误。为什么在使用解码方法时它会尝试进行编码?
代码:
代码:
a='really long string of unicode html text that i wont reprint'
print type(a)
>>> <type 'unicode'>
print a.decode('unicode-escape')
>>> Traceback (most recent call last):
File "scfbp.py", line 203, in myFunctionPage
print a.decode('unicode-escape')
UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac' in position 1945: ordinal not in range(128)
u'\\u2110'
- 这是一个包含六个Unicode字符的字符串(而不是一个 - 注意反斜杠被转义了)。然后从unicode
到str
的自动转换将成功,但打印仍将因为他得到的错误而失败。 - Mark Byers