Pythonで文字列のエンコードを判定する
プログラムを作成していて、文字列のエンコードを判定する必要があり、いろいろ調べると・・・
chardetモジュールを使えば簡単に文字列のエンコードを判定することができるようです。chardetモジュールは標準モジュールに含まれないので別途インストールする必要があり、easy_installでインストールしました。
easy_install chardet
エンコードを判定する簡単なサンプルを作成したので、下記に掲載します。
上記のプログラムを実行すると・・・
と表示されました。confidenceは判定の信頼度のようです。
何故かshift_jisは句読点を含まないとうまく判定できていないようです。
chardetモジュールを使えば簡単に文字列のエンコードを判定することができるようです。chardetモジュールは標準モジュールに含まれないので別途インストールする必要があり、easy_installでインストールしました。
easy_install chardet
エンコードを判定する簡単なサンプルを作成したので、下記に掲載します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import chardet
print chardet.detect(u"あいうえお".encode("utf8"))
print chardet.detect(u"あいうえお".encode("euc-jp"))
print chardet.detect(u"あいうえお".encode("shift_jis"))
print chardet.detect(u"あいうえお。".encode("shift_jis"))
print chardet.detect(u"あいうえお、".encode("shift_jis"))
上記のプログラムを実行すると・・・
{'confidence': 0.96906250000000005, 'encoding': 'utf-8'}
{'confidence': 0.98999999999999999, 'encoding': 'EUC-JP'}
{'confidence': 0.5, 'encoding': 'windows-1252'}
{'confidence': 0.98999999999999999, 'encoding': 'SHIFT_JIS'}
{'confidence': 0.98999999999999999, 'encoding': 'SHIFT_JIS'}
と表示されました。confidenceは判定の信頼度のようです。
何故かshift_jisは句読点を含まないとうまく判定できていないようです。
ラベル: Python

0 件のコメント :
コメントを投稿
この投稿へのリンク :
リンクを作成
<< ホーム