本文主要是介绍解决UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in position 108: ordinal not in range(128,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 108: ordinal not in range(128)
混淆了 python2 里边的 str 和 unicode 数据类型。
0.
你需要的是让编码用实际编码而不是 ascii
1.
对需要 str->unicode 的代码,可以在代码前边写上
import sys
reload(sys)
sys.setdefaultencoding('utf8')
把 str 编码由 ascii 改为 utf8 (或 gb18030)
示例:
# coding=UTF-8
import html2text as ht
import sys
reload(sys)
sys.setdefaultencoding('utf8')
print u'morenbianma:',sys.getdefaultencoding()
default_encoding = 'utf-8' #重新设置编码方式为uft-8
2.
python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii
这篇关于解决UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in position 108: ordinal not in range(128的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!