python-chardet编码检测

一、基本用法

使用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()检测器的重用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值