Pythonの「chardet」というライブラリについてご紹介します。
import chardet
「chardet」は、ファイルやページの文字コードを判定するためのライブラリです。「CHARacter DETection」の略ですね。
「コマンドラインで使う使い方」と「コードの中で使う使い方」の2通りがあります。まずはコマンドラインで使うやり方から見ていきます。
コマンドラインで使う
chardetect.py sample.txt
chardetをインストールしたら、コマンドラインでchardetect.pyが使えるようになっているかと思います。
それにファイル名を渡せば、文字コード判定結果を返してくれます。
判定結果は 「ファイル名: 文字コード with confidence 数値」 という形で返ってきます。文字コードの部分が判定した文字コード、数値の部分が信頼度で、0以上1以下の数値となっています。
chardetect.py sample1.txt sample2.txt sample3.txt
複数のファイルを渡せば、文字コードをまとめて判定することも可能です。前から順番に、各ファイルの判定結果が返されます。
コードの中で使う
import urllib
import chardet
rawdata = urllib.urlopen('https://www.1101.com/').read()
print chardet.detect(rawdata)
{'confidence': 0.98999999999999999, 'encoding': 'SHIFT_JIS'}
コードの中で使うには、chardet.detect()を使います。ファイルやインターネットから取り込んだデータを渡すと、結果を辞書にして返してくれます。
以上です。
インストール pipが入っていれば、
pip install chardet
でインストールすることができます。