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

问题描述

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

解决方法

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

在任何情况下:始终使用与要解码相同的编码进行编码。如果您在代码页之外需要字符,请使用utf-8。通常,使用任何utf编码都是不错的建议。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...