如何用Python中的chardet去检测字符编码类型

时间:2022-05-26 07:48:54

原文链接:http://www.crifan.com/python_chardet_example_show_how_to_use_to_detect_charset/

背景】

之前已经使用过chardet了,也算用了不少次了。

之前也写过和chardet相关的:

【已解决】windows下,安装python的chardet

【问题】Python中用Chardet检测出来从Windows的cmd中输入的字符串的编码是KOI8-R,而不是所希望的GBK或GB2312

【整理】Python的字符编码检测库:charade和chardet的区别

但是没写教程,举例说明如何使用。

现在去举例解释解释。

【python示例代码演示如何用chardet检测字符串的编码类型】

?
12345678910111213141516171819202122232425262728 #!/usr/bin/python# -*- coding: utf-8 -*-"""Function:【教程】如何用Python中的chardet去检测字符编码类型 http://www.crifan.com/python_chardet_example_show_how_to_use_to_detect_charset Version:    2013-09-16Author:     Crifan LiContact:   
http://www.crifan.com/contact_me/
""" import chardet; def chardet_detect_str_encoding():    """        Demo how to use chardet to detect string encoding/charset    """    inputStr= "当前文件时UTF-8,所以你所看到的这段字符串,也是UTF-8编码的";    detectedEncodingDict= chardet.detect(inputStr);    print"type(detectedEncodingDict)=",type(detectedEncodingDict);#type(detectedEncodingDict)= <type 'dict'>    print"detectedEncodingDict=",detectedEncodingDict;#detectedEncodingDict= {'confidence': 0.99, 'encoding': 'utf-8'}    detectedEncoding= detectedEncodingDict['encoding'];    print"That is, we have %d%% confidence to say that the input string encoding is %s"%(int(detectedEncodingDict['confidence']*100), detectedEncoding); if __name__ =='__main__':    chardet_detect_str_encoding();

 

【总结】

相对来说,chardet,算是很好用的了。