如何查看字符编码类型?python3.5使用chardet模块总是报错
本文介绍了如何查看字符编码类型?python3.5使用chardet模块总是报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
一直被编码问题所困惑,在网上搜索了如何查看字符编码类型?,听说chardet模块很方便,但是安装了chardet模块之后,使用一直报错ValueError: Expected a bytes object, not a unicode object,不知道什么原因。
如下图所示:
解决方案
你的 a 已经是字符了,就不需要再测试编码了。
chardet 是用来测试 bytes 的编码格式的。
py3里,只有 unicode编码格式 的字节串
才能叫作str
。
其他编码格式的统统都叫bytes
,如:gbk
,utf-8
,gb2312
…………
这些bytes要转换为 unicode编码 才能当作str来用,就需要知道 bytes 的编码格式。
如果你事先知道,比如gbk
,就可以用 bytes.decode('gbk')
将bytes解码为unicode字符。
如果很不幸,你有一堆bytes,不知道它们的编码(例如 网站服务器返回的响应体),
这时候,你就需要chardet
来测试它们的编码。
这篇关于如何查看字符编码类型?python3.5使用chardet模块总是报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文