1

テキストファイルを開いて最初の行を印刷しようとしています。

私のコードは次のとおりです。

dataFile = open('data/AllData_2000001_3000000.txt', 'r', encoding="latin-1")
print(dataFile.read(1000))

入力は

The bug is hitting

私の出力は

ÿþT h e  b u g  i s  h i t t i n g

iso-8859-1でも同じ結果が得られます。utf-8
を試すと、次のエラーが表示されます。

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

私の間違いは何ですか?
ありがとう!

4

1 に答える 1

4

それÿþはおそらくファイル内のBOMです。UTF-16開くときにエンコーディングとして指定してみてください。

于 2013-08-11T20:47:06.580 に答える