python运行时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal ...的解决办法
2018-10-28 12:19
1261 查看
在python第四次实验作业时:
python在读取文件时出现“UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal multibyte sequence”错误
翻译为:UnoDeDebug错误:“GBK”编解码器不能解码位置14中的字节0x89:非法多字节序列
可能是解码的时候读取文件和编辑器所用的编码导致的(我读取的文档是UTF - 8,但pycharm是GBK)。
解决办法:
第一种:
[code]FILE_OBJECT= open('order.log','r', encoding='UTF-8')
第二种:
[code]FILE_OBJECT= open('order.log','rb')
GBK和UTF - 8的区别:
- GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。
- UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。
-
GBK包含全部中文字符;
-
UTF-8则包含全世界所有国家需要用到的字符。
扩展资料
网页编写UTF-8和GBK哪个编码好,根据个人需要,如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。如果做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。如果你的网站是中文的,但国外用户也不少,最好也用UTF-8的吧。
相关文章推荐
- Python中读取txt文本出现“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”的解决办法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- python3报错解决办法:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multib
- python读取文件报错'gbk' codec can't decode byte 0x9f in position 2: illegal multibyte sequence
- python | 读文件编码问题 | UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 34: illegal mu
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 【Python】Python读取文件报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 20: illegal multibyte sequence
- sublime text在Linux下build出现'ascii' codec can't decode byte 0xe4 in position 0的解决办法
- 解决Python字符串处理出现错误UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe4 in position 108: ordinal not in range(128)
- python3报错解决办法:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multib
- python处理字符串时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- Python之——UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0 解决办法
- Python错误 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence
- 解决Python:'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence
- [Python]解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 1425: illegal multibyte sequence
- python3 读入csv文件报错('utf-8' codec can't decode byte 0x8b in position 2: invalid start byte)的解决
- UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence
- 【python】-- 安装 xadmin错误:"UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444"
- 'gbk' codec can't decode byte 0x94 in position 41:illegal multibyte sequence