Python文件操作—UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 22: ill
2022/3/25 20:52:34
本文主要是介绍Python文件操作—UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 22: ill,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文件操作with open() as 时报错 UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 22: illegal multibyte sequence
解决办法一:在后面加上文件编码格式encoding = ‘utf-8’
FILE_OBJECT= open('order.log','r', encoding='UTF-8')
解决办法二:
FILE_OBJECT= open('order.log','rb')
utf-8和gbk编码
GBK: 专门用来解决中文编码,双字节。是在国家标准GB2312基础上扩容后兼容GB2312标准。包含全部中文字符。
UTF-8: 解决国际上制度的一种多字节编码,对英文使用8位(1个字节),中文使用24位(3个字节)来编码。
对于英文字符较多的论坛适用于UTF-8节省空间。包含全世界所有国家需要用到的字符。
GBK和UTF-8文字编码的特点:
GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
GBK和UTF-8文字编码的区别:
GBK包含全部中文字符;
UTF-8则包含全世界所有国家需要用到的字符。
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准;(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。
所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
注意:
UTF-8版本虽然具有良好的国际兼容性,但中文需要比GBK/BIG5版本多占用50%的数据库存储空间,因此并非推荐使用,仅供对国际兼容性有特殊要求的用户使用。
这篇关于Python文件操作—UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 22: ill的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享