2019独角兽企业重金招聘Python工程师标准>>>
python在安装时,默认的编码是ascii,
当程序中出现非ascii编码时,--中文以及注释
python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),
python没办法处理非ascii编码的,
此时需要自己设置将python的默认编码,
一般设置为utf8的编码格式。
查询系统默认编码可以在解释器中输入以下命令:
Python代码
>>>sys.getdefaultencoding()
设置默认编码时使用:
Python代码
>>>sys.setdefaultencoding('utf8')
在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,所以需要添加下面语句
reload(sys)
有2种方法设置python的默认编码:
一个解决的方案在程序中加入以下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')