Python中動(dòng)態(tài)檢測(cè)編碼chardet的使用教程
前言
在互聯(lián)網(wǎng)的世界里,每個(gè)頁(yè)面都使用了編碼,但是形形色色的編碼讓我們的代碼何以得知其棉麻格式呢?charset將很好的解決這個(gè)問題。
1. chardet
chardet是Python社區(qū)提供了一個(gè)類庫(kù)包,方便我們?cè)诖a中動(dòng)態(tài)檢測(cè)當(dāng)前頁(yè)面或者文件中的編碼格式信息。接口非常的簡(jiǎn)單和易用。
Project主頁(yè): https://github.com/chardet/chardet
本地下載地址:http://xiazai.jb51.net/201707/yuanma/chardet(jb51.net).rar
文檔主頁(yè): http://chardet.readthedocs.io/en/latest/usage.html
2. 使用示例
Notice: 筆者使用的python 3.5 +
Case 1: 檢測(cè)特定頁(yè)面的編碼格式
import chardet
import urllib.request
TestData = urllib.request.urlopen('http://www.baidu.com/').read()
print(chardet.detect(TestData))
輸出結(jié)果:
{'confidence': 0.99, 'encoding': 'utf-8'}
結(jié)果分析, 其準(zhǔn)確率99%的概率,編碼格式為utf-8
使用說明:detect()為其關(guān)鍵方法
Case 2: 增量檢測(cè)編碼格式
import urllib.request
from chardet.universaldetector import UniversalDetector
usock = urllib.request.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)
輸出結(jié)果:
{'confidence': 0.99, 'encoding': 'utf-8'}
說明: 為了提高預(yù)測(cè)的準(zhǔn)確性,基于dector.feed()來實(shí)現(xiàn)持續(xù)的信息輸入,在信息足夠充足之后結(jié)束信息輸入,給出相應(yīng)的預(yù)測(cè)和判斷。
如果需要復(fù)用detector方法,需要進(jìn)行detector.reset()進(jìn)行重置,從而可以復(fù)用。
Case 3: 在安裝chardet之后,可以基于命令行來檢測(cè)文件編碼
% chardetect somefile someotherfile somefile: windows-1252 with confidence 0.5 someotherfile: ascii with confidence 1.0
在系統(tǒng)層面,可以直接基于命令行來進(jìn)行文件編碼檢測(cè),非常簡(jiǎn)單易用。
3. 總結(jié)
chardet是非常易用和功能強(qiáng)大的Python包,相信大家在web世界中遨游之時(shí),肯定會(huì)用上這個(gè)chardet的。 如有問題,歡迎大家反饋給我。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 深入探索Python解碼神器Chardet自動(dòng)檢測(cè)文本編碼
- Python處理文件的方法(mimetypes和chardet)
- Python chardet庫(kù)識(shí)別編碼原理解析
- Python3 chardet模塊查看編碼格式的例子
- python中判斷文件編碼的chardet(實(shí)例講解)
- python判斷字符串編碼的簡(jiǎn)單實(shí)現(xiàn)方法(使用chardet)
- Python使用chardet判斷字符編碼
- python使用chardet判斷字符串編碼的方法
- 使用python的chardet庫(kù)獲得文件編碼并修改編碼
- python基于chardet識(shí)別字符編碼的方法
相關(guān)文章
tensorflow 用矩陣運(yùn)算替換for循環(huán) 用tf.tile而不寫for的方法
今天小編就為大家分享一篇tensorflow 用矩陣運(yùn)算替換for循環(huán) 用tf.tile而不寫for的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
總結(jié)Python函數(shù)參數(shù)的六種類型
這篇文章主要總結(jié)了Python函數(shù)參數(shù)的六種類型,傳遞參數(shù)實(shí)現(xiàn)不同場(chǎng)景的靈活使用,下面總結(jié)的六種函數(shù)參數(shù)類型,需要的小伙伴可以參考一下2022-03-03
python爬蟲入門教程--快速理解HTTP協(xié)議(一)
http協(xié)議是互聯(lián)網(wǎng)里面最重要,最基礎(chǔ)的協(xié)議之一,我們的爬蟲需要經(jīng)常和http協(xié)議打交道。下面這篇文章主要給大家介紹了關(guān)于python爬蟲入門之快速理解HTTP協(xié)議的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
在VSCode中配置Python開發(fā)環(huán)境的詳細(xì)教程
Visual Studio Code(簡(jiǎn)稱VSCode)以其強(qiáng)大的功能和靈活的擴(kuò)展性,成為了許多開發(fā)者的首選,本文將詳細(xì)介紹如何在VSCode中配置Python開發(fā)環(huán)境,需要的朋友可以參考下2025-04-04

