UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 0

关于编码问题的几点错误:

 

报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 0

出现这种问题,一般是因为超过了UTF-8的解码范围:不能解码位置0的那个字节(0xa1),超出了utf-8的表示范围了

 

因此:

可以将编码方式改成:encoding='gb18030',如此拓宽表示域

譬如:

open("xxx.txt", "r", encoding="gb18030")

 

如果还出现:

UnicodeDecodeError: 'gb18030' codec can't decode byte 0xa1 in position 0

那么在gb18030的表示域里面还有问题,要么再换成其他的编码方式尝试一下:https://baike.baidu.com/item/%E7%BC%96%E7%A0%81%E6%96%B9%E5%BC%8F/6451499?fr=aladdin

 

当然也可以将一个error错误判断方式,改成ignore,强行忽视错误部分,从而跳过继续执行

譬如:

open("xxx.txt", "r", encoding="gb18030", errors="ignore")

posted @ 2019-12-09 11:05  Harp_Yestar  阅读(3202)  评论(0)    收藏  举报