当运用Python编程时,编码题目一向很让人头疼,顺序中经常会遇到以下毛病提醒:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
这是因为python在装置时,默许的编码是ascii,当顺序中涌现非ascii编码时,python的处置惩罚经常会报上面的毛病。
关于上面题目,平常有2种处置惩罚要领:
要领1:
在python代码开首加上以下代码块:
import sys reload(sys) sys.setdefaultencoding('utf8')
这类要领是暂时的,只在顺序执行时见效,体系默许编码并没有转变。
要领2
python装置时默许编码是ascii,经由过程sys.getdefaultencoding()能够检察默许编码。为了一次性解决题目,我们能够修正python的默许编码。具体操作以下:
第一步:
在python装置目次的Lib\site-packages文件夹下新建一个sitecustomize.py文件
第二步:
在sitecustomize.py填写以下代码
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
第三步:重启python,经由过程sys.getdefaultencoding()检察默许编码,这时候效果为'utf8'
以上就是python utf-8编码怎样设置的细致内容,更多请关注ki4网别的相干文章!