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

【背景】

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

之前也写过和chardet相关的:

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

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

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

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

现在去举例解释解释。

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

#!/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-16
Author:     Crifan Li
Contact:    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,算是很好用的了。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量