私はいくつかの調査を行い、解決策を見てきましたが、どれも私のために働いていません。
Python-'ascii 'コーデックはバイトをデコードできません
これは私にはうまくいきませんでした。そして、私は0xe9がé文字であることを知っています。しかし、私はまだこれを機能させる方法を理解することができません、ここに私のコードがあります
output_lines = ['<menu>', '<day name="monday">', '<meal name="BREAKFAST">', '<counter name="Entreé">', '<dish>', '<name icon1="Vegan" icon2="Mindful Item">', 'Cream of Wheat (Farina)','</name>', '</dish>', '</counter >', '</meal >', '</day >', '</menu >']
output_string = '\n'.join([line.encode("utf-8") for line in output_lines])
そして、これは私にエラーを与えますascii codec cant decode byte 0xe9
そして、デコードを試みました。「é」を置き換えようとしましたが、それも機能しないようです。
あなたがあなたの行で何をしたいかに基づいて、あなたはここで異なる仕事をすることができます、あなたが通常領事がutf8
エンコーディングを使うように領事に印刷したいだけなら、あなたはあなた自身でそれをする必要はありません文字列がunicode
ではありません:
>>> output_string = '\n'.join(output_lines)
>>> print output_string
<menu>
<day name="monday">
<meal name="BREAKFAST">
<counter name="Entreé">
<dish>
<name icon1="Vegan" icon2="Mindful Item">
Cream of Wheat (Farina)
</name>
</dish>
</counter >
</meal >
</day >
</menu >
ただし、ファイルに書き込みたい場合は、 codecs
モジュールを使用できます。
import codecs
f= codecs.open('out_file','w',encoding='utf8')