为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

如果您使用 utf-8 解码,您也应该使用 utf-8 编码。根据您想要显示的 unicode 字符(基本上除了基本拉丁字母、数字和常用符号之外的所有字符),utf-8 需要多个字节来存储它。由于文件是逐字节读取的,因此您需要知道下一个字符是否需要超过一个字节。这由字节的最高有效位指示。0xb0 转换为二进制的 1011 0000,如您所见,第一位是 1,这告诉 utf-8 解码器需要更多字节来读取字符。由于您使用 iso-8859-1 进行编码,因此以下字节将成为当前字符的一部分,并且编码失败。如果要对度数符号(°)进行编码,则将其编码为0xC2 0xB0。

无论如何:始终使用与要解码相同的编码进行编码。如果需要代码页之外的字符,请使用 utf-8。一般来说,使用任何 utf 编码都是一个很好的建议。


查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信