原文链接: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-16 Author: Crifan Li Contact: """ 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,算是很好用的了。