python中gbk字符原因报错,python报错gbk codec

  python中gbk字符原因报错,python报错gbk codec

  用(self.path, r )作为测试:对于测试中的行:pass代码如上,错误:UnicodeDecodeError: gbk codec cant decode byte 0x80 in position ...

  CodeDecoderror:“gbk”编解码器无法解码位置9处的字节0x80:或者

  UnicodeDecodeError错误:“gbk”编解码器无法解码位置9处的字节0xb3:非法的多字节序列

  解决方法的主要原因是编码问题。可能是字节0x80在gbk编码中没有这个字符。可能是原字符是两个字节,在gbk中解析成一个字节,导致字符不存在。有两种解决方案,一种是二进制读取,另一种是自适应编码:

  方法一:用open (self)二进制阅读。path, rb )作为test:中第行的test: pass,但这可能会在读取中文文本时导致其他错误:

  类型错误:需要类似bytes的对象,而不是“str”方法2:用open (self更改打开文件的编码方法。路径, r ,编码= UTF-8 )作为测试:对于测试中的行:通过或

  用(自我。path, r ,encoding= utf-8-sig )as test:for line in test:pass这个utf-8-SIG好用,屡试不爽,非常好看。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: