已解决UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xac in position 2: illegal multibyte sequence
文章目录
- 报错问题
- 解决方法
- 声明
报错问题
之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。
问题描述如下:
python读取文件报错UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xac in position 2: illegal multibyte sequence
报错原因:
要打开的文件中,有‘gbk’解析不了的文本内容
那么可能是文件格式并非’gbk’格式的。
解决方法
解决方法如下
1.先设定编码方式打开文件
currentFile = open(fileName,encoding='gbk')
当然,如果上面报错就是’gbk’编码打开文件失败,那你这里还是指定gbk打开文件,是极大可能报错的。
2.切换其他的文件编码方式
currentFile = open(fileName,encoding='utf-8')
一般情况下,切换后是可以解决问题的。
3.如果第二步依旧没有解决,可以选择使用errors='ignore’属性忽略编译不了的问题[如果只是想打开文件的话]
currentFile = open(fileName,encoding='gbk',errors='ignore')
但是这样虽然可以打开文件,极大可能出现读取乱码的问题
声明
解决方法参考网络,如有侵权联系我删除