博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
处理UnicodeDecodeError: ‘XXX' codec can't decode bytes in position...的问题
阅读量:4287 次
发布时间:2019-05-27

本文共 504 字,大约阅读时间需要 1 分钟。

错误信息:

UnicodeDecodeError: ‘XXX' codec can't decode bytes in position 2-5: illegal multibyte sequence 

这是因为遇到了非法字符,例如:全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,

这些字符,看起来都是全角空格,但它们并不是“合法”的全角空格

真正的全角空格是\xa1\xa1,因此在转码的过程中出现了异常。 

而之前在处理新浪微博数据时,遇到了非法空格问题导致无法正确解析数据。


[解决办法]

#将获取的字符串strTxt做decode时,指明ignore,会忽略非法字符,

#当然对于gbk等编码,处理同样问题的方法是类似的

strTest = strTxt.decode('utf-8', 'ignore')

return strTest

[补充]

默认的参数就是strict,代表遇到非法字符时抛出异常; 

如果设置为ignore,则会忽略非法字符; 

如果设置为replace,则会用?号取代非法字符; 

如果设置为xmlcharrefreplace,则使用XML的字符引用。 

转载地址:http://yaxgi.baihongyu.com/

你可能感兴趣的文章
error: cannot connect to daemon(adb.exe start-server' failed启动失败,端口占用)---关闭360手机助手即可
查看>>
Python+Selenium框架设计篇之4-框架内封装日志类和浏览器引擎类
查看>>
Python+Selenium框架设计篇之11-自动化测试报告的生成-修改
查看>>
Android Studio中连接真机查看log
查看>>
文件上传功能测试用例
查看>>
测试qq发送文件
查看>>
Sql语句: 取出表A中第31到第40记录
查看>>
java如何实现在一个字符串中查找另一个字符串
查看>>
JMeter安装+配置+运行
查看>>
快马加鞭-墨西哥农村现在仍然可以看到人们用马和驴运载货物。
查看>>
用一条sql语句查询出所有课程都大于80分的学生名单:
查看>>
如何配置android的adb环境变量
查看>>
Visio 画流程图 入门
查看>>
教你使用visio 2013绘制产品流程图
查看>>
Android 导出traces.txt 遇到的坑
查看>>
fiddler+设置限速+404+显示IP地址
查看>>
fiddler 修改标题超长字符等数据
查看>>
java中导入项目出现的问题
查看>>
Eclipse中导入外部jar包——添加lib
查看>>
一、java-边框布局(BorderLayout)
查看>>