欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python字符串編碼識(shí)別模塊chardet簡(jiǎn)單應(yīng)用

 更新時(shí)間:2015年06月15日 08:55:26   投稿:hebedich  
有時(shí)候需要先檢測(cè)一個(gè)文件的編碼,然后將其轉(zhuǎn)化為另一種編碼。這時(shí)候就會(huì)用到chardet(chardet是python的一個(gè)第三方庫(kù),是非常優(yōu)秀的編碼識(shí)別模塊)

python的字符串編碼識(shí)別模塊(第三方庫(kù)):

官方地址: http://pypi.python.org/pypi/chardet

 
import chardet
import urllib
 
# 可根據(jù)需要,選擇不同的數(shù)據(jù)
TestData = urllib.urlopen('http://www.baidu.com/').read()
print chardet.detect(TestData)
 
# 運(yùn)行結(jié)果:
# {'confidence': 0.99, 'encoding': 'GB2312'}
運(yùn)行結(jié)果表示有99%的概率認(rèn)為這段代碼是GB2312編碼方式。
 
import urllib
from chardet.universaldetector import UniversalDetector
usock = urllib.urlopen('http://www.baidu.com/')
# 創(chuàng)建一個(gè)檢測(cè)對(duì)象
detector = UniversalDetector()
for line in usock.readlines():
# 分塊進(jìn)行測(cè)試,直到達(dá)到閾值
detector.feed(line)
if detector.done: break
# 關(guān)閉檢測(cè)對(duì)象
detector.close()
usock.close()
# 輸出檢測(cè)結(jié)果
print detector.result
 
# 運(yùn)行結(jié)果:
# {'confidence': 0.99, 'encoding': 'GB2312'}

應(yīng)用背景,如果要對(duì)一個(gè)大文件進(jìn)行編碼識(shí)別,使用這種高級(jí)的方法,可以只讀一部,去判別編碼方式從而提高檢測(cè)速度。如果希望使用一個(gè)檢測(cè)對(duì)象檢測(cè)多個(gè)數(shù)據(jù),在每次檢測(cè)完,一定要運(yùn)行一下detector.reset()。清除之前的數(shù)據(jù)。

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評(píng)論