2

我正在使用 xml.etree 解码一个 xml 文件,其中一个元素包含此字符串:

Exécutive

我几乎尝试了一切来弄清楚如何将其转化为真正的价值:

Exécutive

我尝试了以下方法:

>>> s = 'é'

>>> s
'\xc3\x83\xc2\xa9'

>>> print s
é

>>> type(s)
<type 'str'>

>>> s.decode('iso-8859-1')
u'\xc3\x83\xc2\xa9'

>>> print( s.decode('iso-8859-1').encode('utf-8'))
é

>>> print( s.decode('utf-8'))
é

我对这些编码有点迷失了。有人帮忙吗?

提前致谢

4

1 回答 1

2

该数据显然是 UTF-8 编码数据(例如,“é”是两个字节),被误解为 ISO-8859-1。对于测试用例,以下生成输出“Executive”:

# This Python file uses the following encoding: utf-8
s = 'Exécutive'
print s.decode('utf-8')

在处理 XML 文件时,您可能只需要将其读取为 UTF-8。

于 2012-12-02T11:18:50.557 回答