最新消息:服务器现已从linode换到fzhost.net,且主题已从retina 0.2换为大前端D8

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

Python crifan 102浏览 0评论

【背景】

之前已经使用过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,算是很好用的了。

转载请注明:在路上 » 【教程】如何用Python中的chardet去检测字符编码类型

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
57 queries in 0.529 seconds, using 12.89MB memory