关于UnicodeDecodeError整理
今天做浏览器模拟登陆,当用户名是中文时,出现关于UnicodeDecodeError的两个问题。开始是中文不能编码成utf8,后面再博文指导下,修改之后出现不能编码为ascii。
1,当代码中是中文时,如下图:代码第34行出现中文。
编译后出现问题为:不能编译为utf-8格式
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe4 in position 0: unexpected end of data
解决办法:
此时将python中的中文使用unicode编码即可:
user = unicode("我们")
2.再次编译,出现问题:
python的str默认是ascii编码,和unicode编码冲突
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
3.对应解决办法为:
在代码中加上如下几句即可
import sys
reload(sys)
sys.setdefaultencoding('utf8')
相关文档可参考博文:该博文