- python默认环境一般是ascii编码方式,因此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。参考
可通过如下方式查看默认环境编码方式:
import sys
print sys.getdefaultencoding()
问题解决有两种方式:
1、修改默认环境编码方式为utf-8
import sys
reload(sys) # 不加这个会报”找不到setdefaultencoding“错误,不知为何
sys.setdefaultencoding('utf-8')
2、将文件指定为utf-8格式
import codecs
f = codecs.open('filename','w','utf-8')
Python编码问题详解
本文深入探讨了Python中常见的编码问题,特别是ascii与utf-8之间的冲突。解释了默认环境为ascii编码时,处理非ascii范围字符流导致的异常,并提供了两种解决方案:一是修改默认环境编码为utf-8;二是使用codecs模块指定文件读写格式为utf-8。
197

被折叠的 条评论
为什么被折叠?



