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

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


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


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

目录

常用第三方模块

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吧( ̄▽ ̄)~*

猜你喜欢

转载自blog.csdn.net/lecorn/article/details/82346845