ファイルに2バイト文字列のリストを書き込むと、エンコードされた文字列がファイルに格納されます。エンコードされた2バイト文字を含むファイルをロードする方法
x = ["漢字"]
with open("/path/to/char.txt", "w") as f:
f.write(str(x))
/path/to/char.txt
['\xe6\xbc\xa2\xe5\xad\x97']
私はこのファイルから元の文字を読み込み、デコードしたいと思います。残念ながら、非常に基本的な方法で、それは不可能だ:
with open("/path/to/char.txt", "r") as f:
x = f.read()
print x
print list(x)
それが出力します。
['\xe6\xbc\xa2\xe5\xad\x97']
['[', "'", '\\', 'x', 'e', '6', '\\', 'x', 'b', 'c', '\\', 'x', 'a', '2', '\\', 'x', 'e', '5', '\\', 'x', 'a', 'd', '\\', 'x', '9', '7', "'", ']']
どのように私はchar.txt
から"漢字"
2バイト文字を得るのですか?
最初にファイルに正しく書き込む可能性はありますか?あるいは、あなたが今すぐ持っているようにファイルのリテラル内容をデコードする必要がありますか? –
@MarkRansom私は文字列を正しく書く機会がありません。ファイルの内容をデコードする必要があります。ありがとうございました。 – rkjt50r983
'[]'や ''' '' ' – furas