如何查看字符编码类型?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模块总是报错 的全部内容, 来源链接: utcz.com/a/160499.html