作者:朱金灿
来源:clever101的专栏
Windows上的文本文件编码
Windows上的文本文件编码共有下图几种:
Python打开文本文件的实现
如前所述,如果是ANSI编码的,Python打开文件则不用指定编码,代码如下:
f = open('D:\TestData\\raw\\test.txt', 'r')
如果是UTF-8编码或者是带BOM的UTF-8编码的,那么在打开文件时需要指定为utf-8编码,代码如下:
f = open('D:\TestData\\raw\\test.txt', 'r',encoding='utf-8')
如果是UTF16-LE编码或者是UTF16-LE编码的(LE为小端,BE为大端),那么在打开文件时需要指定为utf-16编码,代码如下:
f = open('D:\TestData\\raw\\test.txt', 'r',encoding='utf-16')
可能出现的错误
上面为我摸索出来的正确做法,如果不这样做,则会出现以下的异常错误:
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xad in position 0: incomplete multibyte sequence