UnicodeDecodeError: 'charmap'コーデックは位置YのバイトXをデコードできません: 文字は 質問する

UnicodeDecodeError: 'charmap'コーデックは位置YのバイトXをデコードできません: 文字は 質問する

Python 3 プログラムで、情報で満たされたテキスト ファイルに対して何らかの操作を実行しようとしています。しかし、ファイルを読み込もうとすると、次のエラーが発生します。

Traceback (most recent call last):  
  File "SCRIPT LOCATION", line NUMBER, in <module>  
    text = file.read()
  File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode  
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`  

このQ&Aを読んだ後、テキストのエンコーディングを決定する方法開こうとしているファイルのエンコードを確認する際にサポートが必要な場合。

ベストアンサー1

問題のファイルは CP1252 エンコーディングを使用していません。別のエンコーディングを使用しています。どれを使用するかは自分で判断する必要があります。一般的なのは Latin-1 と UTF-8 です。0x90 は Latin-1 では実際には何の意味も持たないため、UTF-8 (0x90 は継続バイト) である可能性が高くなります。

ファイルを開くときにエンコードを指定します。

file = open(filename, encoding="utf8")

おすすめ記事