已解决UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xac in position 2: illegal multibyte sequence

已解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 2: illegal multibyte sequence_ico


文章目录

  • 报错问题
  • 解决方法
  • 声明


报错问题

之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。
问题描述如下:

python读取文件报错UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xac in position 2: illegal multibyte sequence

报错原因:

要打开的文件中,有‘gbk’解析不了的文本内容

那么可能是文件格式并非’gbk’格式的。

已解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 2: illegal multibyte sequence_python_02

解决方法

解决方法如下

已解决UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 2: illegal multibyte sequence_打开文件_03


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')

但是这样虽然可以打开文件,极大可能出现读取乱码的问题

声明

解决方法参考网络,如有侵权联系我删除