文章内容

2020/9/30 15:40:48,作 者: 黄兵

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 160: invalid start byte

最近在使用Python对byte解码的时候出现了如下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 160: invalid start byte

出现错误的原因:

有些字符在utf-8中无法解码,就会出现这个错误,具体代码如下:

returnValue = p.communicate()[1]
returnValue = returnValue.decode("utf-8")

这里可能存在一些utf-8无法解码的情况,就会报错。

解决方案:

使用错误忽略,具体下发如下:

returnValue = p.communicate()[1]
returnValue = returnValue.decode("utf-8", errors='ignore')

它将去除(忽略)字符并返回不包含字符的字符串。使用errors='ignore' 您只会丢失一些字符。


参考资料:

1、error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 160: invalid start byte

分享到:

发表评论

评论列表