当前位置:   article > 正文

'utf-8' codec can't decode问题(python)_utf-8' codec can't decode byte 0xd0 in position 0:

utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byt

inFile=open('bank1.txt','r+',encoding='utf-8')
今天利用python读取文件内容时出现了这样的错误

'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
  • 1

我是直接新建的txt文件,内容如下:

信用等级,年龄,收入等级,教育程度
Bad,40,High,High school
Bad,50,High,High school
Bad,60,High,High school
Bad,70,High,High school
Bad,80,High,High school
Bad,90,High,High school
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

现在就把解决的办法记录一下:
1.直接把文件另存为,把编码格式改为utf-8,再次读取时问题就解决了。
2.删除encoding='utf-8’这个参数,其默认是采用locale.getpreferredencoding()返回的编码格式,我将其输出发现是cp936(CP936其实就是GBK)。
原因
因为直接新建文本文件,文件的编码方式是ANSI的,也就是GBK编码。
文件编码
ANSI:英文1个字节,汉字2个字节。共16384个字符。GBK编码
UTF-8:是Unicode一种压缩形式,英文1个字节,汉字3个字节。
所以说采用utf-8进行解码时会出现错误,而如果采用默认gbk,也就不会出现错误了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/433134
推荐阅读
相关标签
  

闽ICP备14008679号