python的字符串編碼識別模塊(第三方庫):
官方地址: http://pypi.python.org/pypi/chardet
import chardetimport urllib # 可根據需要,選擇不同的數據TestData = urllib.urlopen('http://www.baidu.com/').read()print chardet.detect(TestData) # 運行結果:# {'confidence': 0.99, 'encoding': 'GB2312'}運行結果表示有99%的概率認為這段代碼是GB2312編碼方式。 import urllibfrom chardet.universaldetector import UniversalDetectorusock = urllib.urlopen('http://www.baidu.com/')# 創建一個檢測對象detector = UniversalDetector()for line in usock.readlines():# 分塊進行測試,直到達到閾值detector.feed(line)if detector.done: break# 關閉檢測對象detector.close()usock.close()# 輸出檢測結果print detector.result # 運行結果:# {'confidence': 0.99, 'encoding': 'GB2312'}
應用背景,如果要對一個大文件進行編碼識別,使用這種高級的方法,可以只讀一部,去判別編碼方式從而提高檢測速度。如果希望使用一個檢測對象檢測多個數據,在每次檢測完,一定要運行一下detector.reset()。清除之前的數據。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
|
新聞熱點
疑難解答