多くの類似の質問と記事を検索して見つけましたが、問題を解決できないものはありません。Python 3:ドイツのウムラウトを含むUTF-8ファイルを読む
私は、Python 3.5.0(v3.5.0:374f501f4567、2015年9月13日、2時27分37秒)を使用私はシンプルを持って
のWindows 10上で[MSC v.1900 64ビット(AMD64)]をそのようにUTF-8でのWindows用にエンコードされたテキストファイルは:
Notepadd++ Screenshot http://i67.tinypic.com/29ym79l.jpg
私がやりたいすべてはPythonの文字列にこのファイルの内容を読んで、たとえば、標準で正しく表示することですコンソール。
file_name=r'c:\temp\encoding_test.txt'
fh=open(file_name,'r')
f_str=fh.read()
fh.close()
print(f_str)
印刷文は例外が発生します:ここで
は無残に失敗した最初の試みである位置100に '\ u201e' の文字をエンコードすることはできません'のcharmap' コーデック:文字が未定義
デバッガを使用して
にマップ、f_strには、次のものが含まれています
「私は、Pythonにこのファイルを読んだ後、正しく表示するには、次の文字をしたいと思います:\ n \ NA「A-Üäöüß\ n」を
これは、すでに私にとって非常に不可解です。 Python 3はどこでもデフォルトとしてUTF-8を使用していませんか?その他のエンコーディングはどのように機能するのですか私はメモ帳のすべてを試してみました+ +、何も動作します。
OK、もう少し洗練された、私が試した:
import codecs
file_name=r'c:\temp\encoding_test.txt'
my_encoding='utf-8'
fh=codecs.open(file_name,'r',encoding=my_encoding)
f_str=fh.read().encode(my_encoding)
fh.close()
print(f_str)
これは、少なくとも、例外は発生しませんが、利回り
b'Iを正しく表示するには、次の文字を希望このファイルをPythonに読み込んだ後、\ r \ n \ r \ n \ xc3 \ x84 \ xc3 \ x96 \ xc3 \ x9c \ xc3 \ xa4 \ xc3 \ xb6 \ xc3 \ xbc \ xc3 \ x9f \ r \ n '
私に完全な混乱。誰でもここで私はこれを整理するのを助けてくださいできますか?