python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object,chardetvalueerror,py3里,字符串,s
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object,chardetvalueerror,py3里,字符串,s
py3里,字符串,str类型,是unicode编码格式。其他类型都是byte,编码格式是gbk,utf-8等
而chardet是检查byte类型的编码格式的,不是检查str类型的编码格式的。
a="abc啊”,是字符串,就不能用chardet了。
当获取的数据(byte)类型,需要当成字符串来处理,需要先将其编码成unicode(python处理的都是此编码)。
而要将bytes转换成unicode,需要先知道bytes具体是什么编码格式如gbk,然后使用aa=decode("gbk"),aa为unicode的该数据内容。
如果很不幸,你有一堆bytes,不知道它们的编码(例如 网站服务器返回的响应体),
这时候,你就需要chardet来测试它们的编码。
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
相关内容
- python 读取中文CSV 'gbk' codec can't de
- python 简单爬虫(beatifulsoup),pythonbeatifulsoup,---恢复内容
- centos 7 编译 python3.7.0,centospython3.7.0,安装编译所需库
- python中文编码&json中文输出问题,,python2.x版
- Python中应用SQL及SQLAlchemy(一),pythonsqlalchemy,以SQLit3为
- python3开发进阶-Django框架中form的校验方法is_valid()的源码
- Python 中数据的序列化和反序列化(json处理),pythonj
- Python基础数据类型考试题,python数据类型,# Python基础
- Python TVTK 标量数据可视化与矢量数据可视化,pythontvt
- Python 随笔之Redis,python随笔redis,Python学习记录
评论关闭