chardetとは?
chardetは、文字コードの自動検出を行うPythonライブラリです。オープンソースとして開発されており、以下の文字コードの自動検出が可能です。
- ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)
- Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese)
- EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese)
- EUC-KR, ISO-2022-KR, Johab (Korean)
- KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic)
- ISO-8859-5, windows-1251 (Bulgarian)
- ISO-8859-1, windows-1252 (Western European languages)
- ISO-8859-7, windows-1253 (Greek)
- ISO-8859-8, windows-1255 (Visual and Logical Hebrew)
- TIS-620 (Thai)
chardetのインストール
Pythonのパッケージ管理ツールであるpipを使ってchardetをインストールします。以下のコマンドを実行します。
pip install chardet
chardetの使用方法
chardetには二つの利用パターンがあります。
- コマンドラインツール
- Python API
コマンドラインツール
chardetはコマンドラインツールとしても利用できます。以下のようにファイルの文字コードを検出することができます。
chardetect somefile
Python API
Pythonのプログラム内でchardetを利用することも可能です。以下のように文字コードを判定して、次の処理に進むことができます。
import chardet
# 文字列をバイト列に変換
data = "テスト".encode('utf-8')
# 文字コードを判定
result = chardet.detect(data)
print(result)
このように、chardetはPythonで文字コードを判定する際に非常に便利なライブラリです。