UnicodeDecodeError: 'gbk' codec can't decode byte 0xe9 in position 7581: illegal multibyte sequence

本文记录了解决Python在读取文件时遇到的UnicodeDecodeError异常的过程,通过更改文件编码从UTF-8到ISO-8859-1解决了问题。同时探讨了UTF-8与GBK编码的区别及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在测试代码时出现如题报错,网上查询后,在如下改动:

FILE_OBJECT= open('order.log','r', encoding='UTF-8')

修改后,测试又报如下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2892: illegal multibyte sequence

继续查询问题解决方案,最后得到解决办法:

FILE_OBJECT= open('order.log','r',encoding = 'ISO-8859-1')

测试后成功运行!

总结后应该是文本编码问题所致。

 

“网页编写UTF-8和GBK哪个编码好,根据个人需要,如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。如果做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。如果你的网站是中文的,但国外用户也不少,最好也用UTF-8的吧。”

----引自https://blog.youkuaiyun.com/qq_42447431/article/details/83473490 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值