2

xml.etreeを使用してxmlファイルをデコードしていますが、要素の1つに次の文字列が含まれています。

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 でエンコードされたデータ (たとえば、「é」は 2 バイト) であり、ISO-8859-1 として誤って解釈されています。テストケースの場合、以下は出力「エグゼクティブ」を生成します。

# 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 に答える