UnicodeDecodeError: 'utf8' codec can't decode byte 0xe5 in position 0: unexpected end of data

Python中文编码问题是Coder时常碰到的烦心问题

Python一般采用Ascii,Unicode编码,但是世界上各个国家语言存在各种编码,比如中国的gbk,gb2312等。

首先,一般情况,python默认会认为源代码文件是ascii编码

使用unicode对象的话,除了这样使用u标记,还可以使用unicode类以及字符串的encode和decode方法。

unicode类的构造函数接受一个字符串参数和一个编码参数,将字符串封装为一个unicode,比如在这里,由于我们用的是utf-8编码,所以unicode中的编码参数使用’utf-8′将字符封装为unicode对象,然后正确输出到控制台:

Python2.7+WIN10环境下:

site='浙江大学'
input.send_keys(site) 
会出错,产生告警:UnicodeDecodeError: 'utf8' codec can't decode byte 0xe5 in position 0: unexpected end of data

site='浙江大学'
s1 = unicode(site, 'utf-8') #正常
input.send_keys(s1) 

猜你喜欢

转载自blog.csdn.net/wukai0909/article/details/86356614