Python (2.7) 打印十六进制而不是特殊字符
Python (2.7) prints hexadecimal instead special characters
我不知道发生了什么,但我正在使用 SAX 读取文件和处理 XML。一个 '€' 字符导致异常,所以我尝试使用 decode/encode.
问题是在我可以这样做之前:
>>> line = '€'
>>> line
'€'
现在它是这样工作的:
>>> line = '€'
>>> line
'\xe2\x82\xac'
这适用于所有特殊字符,例如:á、é、í 等。
我该如何解决?
使用unicode类型:
>>> line = u'€'
>>> print(line)
€
在处理字符集时,了解从哪个编解码器解码和编码到哪个编解码器始终很重要。
作为参考,我使用的是 Python 2.7.8.
我不知道发生了什么,但我正在使用 SAX 读取文件和处理 XML。一个 '€' 字符导致异常,所以我尝试使用 decode/encode.
问题是在我可以这样做之前:
>>> line = '€'
>>> line
'€'
现在它是这样工作的:
>>> line = '€'
>>> line
'\xe2\x82\xac'
这适用于所有特殊字符,例如:á、é、í 等。
我该如何解决?
使用unicode类型:
>>> line = u'€'
>>> print(line)
€
在处理字符集时,了解从哪个编解码器解码和编码到哪个编解码器始终很重要。
作为参考,我使用的是 Python 2.7.8.