每天分享一個Python庫-Chardet

SilenceHL發表於2021-06-16

前言

Python中有許多好用、有意思的庫,有一些可以大大提高開發效率,有的可以為我們解決很多棘手的問題,從今天開始我會每天給大家分享一個Python庫。今天分享的是一個跟字串編碼有關的庫—chardet

Chardet

簡介

chardet是一個識別字串編碼的第三方庫,支援繁簡中文、日語、韓文等多種語言

安裝

  • 使用pip進行安裝

    $ pip install chardet
  • 通過安裝Anaconda進行安裝,由於Anaconda中已經幫我們安裝了chardet,可以直接使用

簡單使用

  • 識別字串格式

    >>> import chardet
    >>> chardet.detect(b'Hello chardet!')
    {'encoding': 'ascii', 'confidence': 1.0, 'language': ''}

    返回的結果中,encoding對應的鍵為編碼型別,confidence對應的鍵為識別可信度為1,即為100%,language對應的鍵為語言,這裡沒有檢測出來

  • 識別中文格式

    >>> chardet.detect('你好'.encode('utf-8'))
    >>> {'encoding': 'utf-8', 'confidence': 0.7525, 'language': ''}

    這次可以看到檢測出了編碼型別為utf-8,可信度為75.25%,從這裡可以看出檢測中文的準確率沒有那麼高

  • 對外語進行檢測

    >>> chardet.detect('こんにちは'.encode('euc-jp'))
    >>> {'encoding': 'EUC-JP', 'confidence': 0.99, 'language': 'Japanese'}

    對日語的檢測可信度為99%且成功檢測出來了語言

作用

前面介紹了一下chardet庫,與其簡單的使用方法,那我們什麼場景可以使用它呢,我舉一個例子:當我們從網頁爬取一段內容後,不清楚編碼型別,就可以使用chardet庫來進行檢測,然後將不同的型別轉化為utf-8來進行後續操作。還有其他使用場景歡迎大家補充!

尾巴

從上可以看出,chardet庫非常的簡單易用,核心目的也比較明確:檢測字串編碼型別。以後在字串編碼不清楚的時候可以使用chardet庫,而不是自己去試,可以大大提高開發效率。

官方文件地址

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章