错误:“utf-8”编解码器无法解码位置 14 中的字节 0xb0:起始字节无效

我是Python的初学者,我想读取多个csv文件,当我用 对其进行编码时 encoding = "ISO-8859-1",我在我的csv文件中得到这种字符:“Dâ°faut”。所以我尝试编码utf-8,出现此错误:“utf-8”编解码器无法解码位置 14 中的字节 0xb0:无效的起始字节。有人能帮助我吗 ?谢谢 !



慕工程0101907
浏览 93回答 1
1回答

小怪兽爱吃肉

如果您使用 utf-8 解码,您也应该使用 utf-8 编码。根据您想要显示的 unicode 字符(基本上除了基本拉丁字母、数字和常用符号之外的所有字符),utf-8 需要多个字节来存储它。由于文件是逐字节读取的,因此您需要知道下一个字符是否需要超过一个字节。这由字节的最高有效位指示。0xb0 转换为二进制的 1011 0000,如您所见,第一位是 1,这告诉 utf-8 解码器需要更多字节来读取字符。由于您使用 iso-8859-1 进行编码,因此以下字节将成为当前字符的一部分,并且编码失败。如果要对度数符号(°)进行编码,则将其编码为0xC2 0xB0。无论如何:始终使用与要解码相同的编码进行编码。如果需要代码页之外的字符,请使用 utf-8。一般来说,使用任何 utf 编码都是一个很好的建议。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python