如何查看字符编码类型?python3.5使用chardet模块总是报错
ringa_lee
ringa_lee 2017-04-18 09:34:46
[Python讨论组]

一直被编码问题所困惑,在网上搜索了“如何查看字符编码类型?”,听说chardet模块很方便,但是安装了chardet模块之后,使用一直报错“ValueError: Expected a bytes object, not a unicode object”,不知道什么原因。
如下图所示:

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
黄舟

你的 a 已经是字符了,就不需要再测试编码了。
chardet 是用来测试 bytes 的编码格式的。


py3里,只有 unicode编码格式字节串才能叫作str
其他编码格式的统统都叫bytes,如:gbkutf-8gb2312…………

这些bytes要转换为 unicode编码 才能当作str来用,就需要知道 bytes 的编码格式。
如果你事先知道,比如gbk,就可以用 bytes.decode('gbk')将bytes解码为unicode字符。
如果很不幸,你有一堆bytes,不知道它们的编码(例如 网站服务器返回的响应体),
这时候,你就需要chardet 来测试它们的编码。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号