3

私は多くのテキスト解析を行っていますが、常にデコードで問題が発生しているようです。通常、次の方法でエンコーディングを検索します。

$ file -i filename.txt
filename.txt: text/x-diff; charset=utf-8

次に、読み取り行 (ここではioを使用して表示) で指定します。

io.open(filename.txt, 'r', encoding='utf-8')

ただし、新しいファイル エンコーディングに遭遇するたびに、次のようになります。

UnicodeDecodeError: 'utf8' codec can't decode byte 0x0a in position 0: truncated data'

そして、新しいエンコーディングを手動で検出して設定するプロセスを繰り返さなければなりません。複数の未知の文字セットを持つ複数のファイルを解析するより良い方法はありますか? 2 つのエンコーディングで正常に動作するように try/except ブロックを試しましたが、3 つ以上のエンコーディングについてはどうですか? 自動検出方法はありますか?

4

1 に答える 1

5

この python パッケージを使用できます: https://pypi.python.org/pypi/chardet

エンコーディングを推測しようとします。その後、入力のさらなる処理に進むことができます。

于 2013-05-06T19:56:20.217 に答える