一、基本用法
使用detect
函数
输入字符串,输出检测的编码和置信度。
import urllib
rawdata = urllib.urlopen('http://yahoo.co.jp/').read()
import chardet
chardet.detect(rawdata)
[out] {'encoding': 'EUC-JP', 'confidence': 0.99}
二、高级用法
处理大量文本,增量式的检测。
import urllib
from chardet.universaldetector import UniversalDetector
usock = urllib.urlopen('http://yahoo.co.jp/')
detector = UniversalDetector()
for line in usock.readlines():
detector.feed(line)
if detector.done: break
detector.close()
usock.close()
print detector.result
[out] {'encoding': 'EUC-JP', 'confidence': 0.99}
使用UniversalDetector()
检测器,.feed()
添加检测文本,增量检测的时候,如果达到最小阈值,则.done
的值为True
。
使用.close()
关闭,.result
为结果。
import glob
from chardet.universaldetector import UniversalDetector
detector = UniversalDetector()
for filename in glob.glob('*.xml'):
print filename.ljust(60),
detector.reset()
for line in file(filename, 'rb'):
detector.feed(line)
if detector.done: break
detector.close()
print detector.result
.reset()
为UniversalDetector()
检测器的重用。