Python遇到UnicodeDecodeError错误?

错误:UnicodeDecodeError:'gbk'codeccan'tdecodebyte0x81inposition7:illegalmultibytesequen... 错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position 7: illegal multibyte sequence我输了下图的代码,用了网上的UTF-8、rb、iso8859-1什么的都不行,哪位大神来解决一下? 展开
 我来答
智者总要千虑
高粉答主

2020-01-11 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部
python的中文编码比较容易采坑,主要有一下几个注意点:

明确读取的是什么编码格式的输入 gb18030,还是utf-8,,如果不是从文件中来,而是代码内的中文字符,最好直接 u'中文',将编码变为 unicode

操作的时候,注意各种字符串的编码方式匹配,可以都转为unicode以统一处理,string.decode('gb18030') 可以把 gb18030编码转换为 unicode编码

输出时,明确最终的输出格式是什么,从而采用正确的 encode 方式进行编码

至于json,在load的时候,注意设定编码方式, json.loads(str, encoding='gb18030') 或者 utf-8

如果按照这个原则解决不了,可以考虑贴代码
追问
谢谢,不过我发现我错在多了一个read()😂😂😂,而且这个代码我也看了一下,是cp936的,也就是GB2312的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式