亚洲男人天堂av,国产一区二区久久精品,国产精品一区二区久久精品,国产精品久久久久久一区二区三区,五月婷婷在线观看视频,亚洲狠狠色丁香婷婷综合

歡迎您訪問簡單用法與高級用法:chardet 模塊的詳細介紹!

簡單用法與高級用法:chardet 模塊的詳細介紹

更新時間:2024-10-01 20:07:52作者:佚名

chardet的使用非常簡單。主模塊中只有一個檢測功能。 detector 有一個參數(shù),要求其類型為 bytes。 bytes類型可以通過讀取網(wǎng)頁內(nèi)容、open函數(shù)的rb模式、b前綴的字符串、encode函數(shù)等獲取。

示例代碼:

import chardet
some_string = '你好,世界。'.encode('utf-8') # encode方法返回一個bytes
# b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xe3\x80\x82'
result = chardet.detect(some_string) # 調(diào)用檢測接口
print(result)
# {'encoding': 'utf-8', 'confidence': 0.99}

如上所示,檢測函數(shù)返回一個包含兩個鍵值對的字典。其中之一的鍵值是encoding,表示chardet推斷的編碼格式。另一個關鍵價值是信心,它代表可信度。可信度是 0 到 1 之間的浮點值,0 表示不可信,1 表示 100% 可信。

高級用法

當用于檢測的文檔特別大時使用方法的英文,可以使用chardet的子模塊chardet.universal detector。該模塊允許我們多次檢測文本的編碼格式(逐行讀取或逐行讀取),并在達到一定閾值時提前退出檢測。這樣可以有效節(jié)省資源,提高程序效率,保證測試結(jié)果的準確性。

示例代碼:

from chardet.universaldetector import UniversalDetector
detector = UniversalDetector() # 初始化一個UniversalDetector對象
f = open('test.txt', 'rb') # test.txt是一個utf-8編碼的文本文檔
for line in f:
    detector.feed(line) # 逐行載入UniversalDetector對象中進行識別
    if detector.done: # done為一個布爾值,默認為False,達到閾值時變?yōu)門rue
        break
detector.close() # 調(diào)用該函數(shù)做最后的數(shù)據(jù)整合
f.close()
print(detector.result)
# {'confidence': 1.0, 'encoding': 'UTF-8-SIG'}

需要注意的是使用方法的英文,如果檢測到來自多個不同來源的文本,則每次檢測完成后都必須調(diào)用一次UniversalDetector對象的reset函數(shù),以清除之前的檢測數(shù)據(jù)。否則,后續(xù)的測試結(jié)果將會混亂。

目前支持的編碼格式

通用編碼檢測器目前支持以下編碼格式:

注:由于內(nèi)部相似性,在某些情況下可能會出現(xiàn)檢測錯誤。最常見的問題是匈牙利語,報告的編碼是兩者中的另一個。希臘語檢測也經(jīng)常將 ISO-8859-7 錯誤地識別為匈牙利語 ISO-8859-2。

關于檢測過程中出現(xiàn)的奇怪錯誤

該模塊在檢測ANSI編碼(中文版Windows系統(tǒng)上為gbk)時會出現(xiàn)一些奇怪的錯誤。博主正在研究英文文檔,希望能在那里找到答案。如有后續(xù),本文將同步更新。

從上面繼續(xù):

問題根源:某些情況下,檢測ANSI編碼的文本文檔和gb2312編碼的字節(jié)包時可能會出現(xiàn)錯誤。

過程:博主測試了不同情況下輸入的字節(jié)包網(wǎng)校頭條,不同長度,不同編碼。并仔細閱讀官方文檔。我大概想出了一個主意。

分析:官方文檔中有一段話,我先從原文中摘錄一下。

如果 UniversalDetector 檢測到文本中的高位字符,但其他多字節(jié)或單字節(jié)編碼探測器都沒有返回可信結(jié)果,它會創(chuàng)建一個 Latin1Prober(在 latin1prober.py 中定義)來嘗試檢測windows-1252 編碼。這種檢測本質(zhì)上是不可靠的,因為英文字母在許多不同的編碼中都以相同的方式進行編碼。區(qū)分 windows-1252 的唯一方法是通過常用的符號,例如智能引號、彎撇號、版權(quán)符號等。 Latin1Prober 會自動降低其置信度,以便盡可能讓更準確的探測器獲勝。

大致意思是,當UniversalDetector解析某些字節(jié)時,如果沒有相應的檢測器給出報告,它會調(diào)用一個名為Latin1Prober的檢測器來嘗試使用英文編碼windows-1252來解析該字節(jié)包。這個檢測設備非常不可信(官方投訴……)。通常英文字母和一些特殊符號在不同的編碼中是相同的,因此該檢測器會給出很高的置信度。該檢測器將自動降低其置信度,以允許其他檢測器先通過。

根據(jù)以下原文:

檢測算法的主要入口點是universalDetector.py,它有一個類,UniversalDetector。 (您可能認為主要入口點是 chardet/init.py 中的檢測函數(shù),但這實際上只是一個創(chuàng)建 UniversalDetector 對象、調(diào)用它并返回其結(jié)果的便利函數(shù)。)

大致意思是:檢測算法的入口是UniversalDetector,chardet.detect函數(shù)只是方便用戶使用的語法糖。

可以推斷,類似的機制也會出現(xiàn)在 detector 函數(shù)中。盡管 Latin1Prober 已經(jīng)過優(yōu)化,但在某些情況下,它給出的置信度仍然比實際情況高得多。例如這個實驗:

博主還做了其他幾個實驗,得出了一個結(jié)論:當字節(jié)包的長度不夠長時,chardet給出的結(jié)論非常不可靠,因為它可能會調(diào)用一個不相關的檢測器。 ,檢測器給出的置信度超過閾值,或者兩種編碼格式恰好有共同的字符,則不再進行進一步的檢測。這樣做很容易導致測試結(jié)果不可靠。因此最好不要檢測非常少量的字節(jié)。同時,當檢測到開頭有大段其他字符的文檔時,最好先手動處理不相關的符號(可能不會出現(xiàn)錯誤,因為程序會根據(jù)檢測器的順序來優(yōu)先排序)初始遍歷的結(jié)果,但不能保證可能會出現(xiàn)錯誤)以獲得最準確的結(jié)果。

通用編碼檢測器的工作原理詳細解釋了該模塊的工作原理。建議懂英文并有耐心的讀者讀完。博主只是選擇性地、快速地閱讀了它。我不能保證將原作者的意思傳達給你,但我也可以保證偏差不會太大。

支持原創(chuàng)-->原文鏈接

為您推薦

2023年北華大學招生網(wǎng)錄取分數(shù)線

本期將為大家整理2023年北華大學各省專科分數(shù)線,以及2024年在各省的招生計劃人數(shù)。一、北華大學專科錄取線2023年北華大學專科招生在吉林省最低需要269分以上,最低分位次67500名,共招生154人。2024年北華大學只在吉林省招收專科批次考生。2024年北華大學專科招生專業(yè)及學費為:

2024-10-01 20:07

2017 廣東第二次學考 6 月 9 日進行,高考后仍可參加加分

廣東省高考志愿填報廣東省高考志愿填報流程2017年廣東高考志愿填報指南廣東省高考志愿填報要注意的事項【廣東省高考志愿填報】相關文章:廣東省高考填報志愿時間04-03高考如何填報志愿04-04安徽高考志愿填報04-03

2024-10-01 17:48

2017 廣東第二次學考 6 月 9 日進行,高考后仍可參加加分

廣東省高考志愿填報廣東省高考志愿填報流程2017年廣東高考志愿填報指南廣東省高考志愿填報要注意的事項【廣東省高考志愿填報】相關文章:廣東省高考填報志愿時間04-03高考如何填報志愿04-04安徽高考志愿填報04-03

2024-10-01 17:46

2017 廣東第二次學考 6 月 9 日進行,高考后仍可參加加分

廣東省高考志愿填報廣東省高考志愿填報流程2017年廣東高考志愿填報指南廣東省高考志愿填報要注意的事項【廣東省高考志愿填報】相關文章:廣東省高考填報志愿時間04-03高考如何填報志愿04-04安徽高考志愿填報04-03

2024-10-01 17:44

中考報名前必知!金堂實驗中學招生計劃及簡介全解析

中考報名之前,同學們一定要仔細的選擇學校,大家可以通過學校的官網(wǎng),也可以通過學校的招生簡章來了解學校的大致情況。金堂實驗中學招生計劃金堂實驗中學簡介金堂實驗中學概況

2024-10-01 17:21

中考報名前必知!金堂實驗中學招生計劃及簡介全解析

中考報名之前,同學們一定要仔細的選擇學校,大家可以通過學校的官網(wǎng),也可以通過學校的招生簡章來了解學校的大致情況。金堂實驗中學招生計劃金堂實驗中學簡介金堂實驗中學概況

2024-10-01 17:19

加載中...
主站蜘蛛池模板: 久久国产小视频 | 玖玖在线资源站 | 国产精品久久久久久亚洲小说 | 在线免费观看色视频 | 色婷婷丁香 | 色就干| 国内自拍第100页 | 国产成人亚洲精品大帝 | 六月丁香婷婷网 | 亚洲一区二区在线成人 | 中文字幕日韩高清 | 自拍偷拍第一页 | 亚洲国产成人久久精品影视 | 久久国产精品亚洲一区二区 | 国产精品久久久久久网站 | 久热精品视频 | 羞羞视频免费网站com | 亚洲成人一区 | 五月天色丁香 | 国产免费自拍 | 五月婷六月婷婷 | 中文国产成人精品少久久 | 一区二区三区四区在线不卡高清 | 精品在线看| 国产精品第一区在线观看 | 国产欧美精品区一区二区三区 | 最近中文字幕无吗免费高清 | www.99视频 | 激情 婷婷 | 激情综合站 | 亚洲国产天堂久久综合226 | 亚洲国产成人久久三区 | 波多野结衣在线免费视频 | 男男羞羞视频网站国产 | 精品久久久久久久高清 | 在线成人国产 | 亚洲欧美日韩国产精品网 | 伊人婷婷 | 日韩国产成人精品视频 | 四虎影库网址 | 日韩欧美亚洲国产精品字幕久久久 |