字符串是Python中最常用的数据类型,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这时候代码就很可能抛出UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc4 in position 10: ordinal not in range(128)异常。
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
Python中出现这么多编码问题的根本原因是Python 2.x的默认编码格式是ASCII。
解决方法:
1.声明编码格式
# -*- coding: <encoding name> -*-
2.使用u’中文’替代’中文’
str1 = '中文编码'
str2 = u'中文编码'
3、Reset默认编码(一般都能够解决编码的问题)
import sys
reload(sys)
sys.setdefaultencoding('utf8')
目前没发现其他的问题,如果遇就再次更新