python3的一个天坑问题及解决方法:报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid
发现python3的一个天坑问题:报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid
一、问题还原
近日,良哥在调试程序发现python3的一个天坑问题。特此曝光,为众位开发朋友提个醒。程序代码如下:

执行后,此处会报错,报错信息如下:

二、原因分析
原来这就是Python 编码中最常见也是最天坑的两个错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte
翻译过来就是python在ASCII和UTF-8编码集中没法实现部分字符的编码,我这个错误就是‘utf-8’不能解码位置59的那个字节(0xce),也就是这个字节超出了utf-8的表示范围了。
三、解决办法
我把代码中的 encoding="utf-8"改为 encoding='gbk’即可。
补充:python 报错“UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte“的解决办法
由于我在程序中设定文件打开的编码格式为“utf-8”,但是我后来用电脑的记事本打开这个”三国演义.txt”文件,然后在点击另存为的时候,发现原文件的编码方式是“ANSI”. 哦哦哦哦哦哦哦哦哦哦哦。。。。不报错才怪呢!
解决办法很简单,只需要在另存为的时候,选择编码方式为:UTF-8即可,就像下面这样

之后Python运行即可正常
到此这篇关于发现python3的一个天坑问题:报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid的文章就介绍到这了,更多相关python3报错UnicodeDecodeError内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于tf.matmul() 和tf.multiply() 的区别说明
这篇文章主要介绍了关于tf.matmul() 和tf.multiply() 的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06
解决出现Incorrect integer value: '''' for column ''id'' at row 1
这篇文章主要介绍了解决出现Incorrect integer value: '' for column 'id' at row 1的问题的相关资料,希望通过本文能帮助到大家,让大家遇到这样的问题及时的解决,需要的朋友可以参考下2017-10-10
tensorflow 获取所有variable或tensor的name示例
今天小编就为大家分享一篇tensorflow 获取所有variable或tensor的name示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-01-01


最新评论