发布网友 发布时间:2022-04-19 12:54
共3个回答
懂视网 时间:2022-05-10 08:37
当使用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安装目录的Libsite-packages文件夹下新建一个sitecustomize.py文件
第二步:
在sitecustomize.py填写如下代码
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
第三步:重启python,通过sys.getdefaultencoding()查看默认编码,这时结果为'utf8'
热心网友 时间:2022-05-10 05:45
python的编码格式?热心网友 时间:2022-05-10 08:37
在代码最前面写上:#coding:utf-8 即可