美文网首页程序员
【Python入门】35.常用第三方模块之 编码检测charde

【Python入门】35.常用第三方模块之 编码检测charde

作者: 三贝_ | 来源:发表于2018-09-03 15:37 被阅读22次

    摘要:chardet是一个非常强大的编码检测模块


    *写在前面:为了更好的学习python,博主记录下自己的学习路程。本学习笔记基于廖雪峰的Python教程,如有侵权,请告知删除。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ *


    摘要
    本学习笔记基于廖雪峰的Python教程。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ
    本节内容:

    目录

    常用第三方模块
    chardet
    安装chardet
    使用chardet

    常用第三方模块

    chardet

    有时候,我们并不知道这个bytes的编码是什么,不能用对应的decode来进行解码。

    chardet的作用是可以检测bytes的编码。

    安装chardet

    在命令行模式下输入:

    pip install chardet
    

    等待安装完成即可。

    使用chardet

    使用chardet进行检测编码,只需要调用chardet.detect()即可。

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

    结果显示是ASCII编码,confidence字段指出检测正确的概率为1。

    我们还能检测其他编码

    如检测gbk编码的中文:

    data = '你若安好,便是晴天'.encode('gbk')
    chardet.detect(data)
    {'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'} 
    

    结果显示是GB2312编码,检测正确的概率为0.99,language字段指出检测出语言为中文。注意这里GBK是GB2312的超集。

    检测utf-8编码:

    data = '你若安好,便是晴天'.encode('utf-8')
    chardet.detect(data)
    {'encoding': 'utf-8', 'confidence': 0.99, 'language': ''} 
    

    检测EUC-JP编码的日文:

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

    chardet支持检测中文、日文、俄文等多种语言,具体参考官方文档Supported encodings


    以上就是本节的全部内容,感谢你的阅读。

    下一节内容:常用第三方模块之 psutil

    有任何问题与想法,欢迎评论与吐槽。

    和博主一起学习Python吧( ̄▽ ̄)~*

    相关文章

      网友评论

        本文标题:【Python入门】35.常用第三方模块之 编码检测charde

        本文链接:https://www.haomeiwen.com/subject/hlxiwftx.html