代码如下:
f = open('liudehua.txt', 'r')str = f.read()
结果报错如下:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position 521
分析原因:
我的txt文件存的是utf8编码,打开文件的时候没有指定编码,文件虽然是utf8编码,但是在计算机里面存储的还是unicode编码数据,即计算机是将文件的内容按照utf8编码成unicode后存到了硬盘上,而现在执行f.read()的时候,因为没有指定编码,f.read()可能是发现文件中有中文,所以按照gbk来试图将unicode解码,但是因为文件本身是utf8的,所以解码失败,所以报了UnicodeDecodeError(当然这其实只是我的猜测,但是应该也八九不离十吧)