我在读取txt文件时报错'gbk' codec can't decode byte 0x90 in position 8: illegal multibyte sequence
时间: 2023-11-16 08:05:03 浏览: 62
这个错误通常是由于文件编码格式与你的代码设置的编码格式不一致所导致的。你可以尝试以下两种解决方法:
1. 修改代码设置的编码格式为与文件编码一致的格式,比如UTF-8:
```python
with open('file.txt', encoding='utf-8') as f:
content = f.read()
```
2. 修改文件的编码格式为与你的代码设置的编码格式一致,比如GBK:
- 使用文本编辑器打开文件,另存为并选择编码格式为GBK;
- 或者使用Python的codecs模块读取文件时指定编码格式为GBK:
```python
import codecs
with codecs.open('file.txt', 'r', 'gbk') as f:
content = f.read()
```
相关问题
'gbk' codec can't decode byte 0x90 in position 8: illegal multibyte sequence
这个错误通常是因为尝试使用 `gbk` 编码解码包含非法多字节序列的数据。建议使用 `utf-8` 编码来解决这个问题。你可以使用 Python 的 `decode()` 方法将 `gbk` 编码的字符串转换为 `utf-8` 编码的字符串,例如:
```
gbk_str = b'\xb5\xc7\xb6\xfb\xcd\xf8\xb5\xc4\xb6\xaf\xba\xcd\x0d\x0a'
utf8_str = gbk_str.decode('gbk').encode('utf-8')
```
这样就可以将 `gbk` 编码的字符串转换为 `utf-8` 编码的字符串了。
'gbk' codec can't decode byte 0x90 in position 22: illegal multibyte sequence
这个错误提示意味着使用GBK编码解码时,遇到了非法的多字节序列,具体是在第22个位置遇到了x90字节。可能是因为数据本身存在问题,或者使用的编码方式不正确。建议检查数据源和编码方式,尝试使用其他编码方式解码。
阅读全文