Python27编码方式各种情况总结
方法/步骤
1、程序开发无可避免会遇到编码问题,尤其是Python2版本默认ASSII编码,而Pytho艘绒庳焰n3默认Unicode,在使用Pyth泠贾高框on2时候为避免类似nUnicodeDecodeError:'utf8'codeccan'tdecodebyte0xb6inposition0:invalidstartbyteyq30这样的报错,一定要做到py文件头加#coding:utf-8这只是编码路上的第一步
2、设置编码方式如使用Notepad++编辑器,一定要把编码方式设成utf8,记事本一般是gbk编码,复制粘贴过来编码就变成gbk,一定要转成utf8,不然就会报UnicodeDecodeError:'utf8'codeccan'tdecodebyte......
3、如果有操作数据库,数据库字符集utf8,在连接时候一定要加charset='utf8'
4、当程序出现UnicodeDecodeEr筠续师诈ror:'ascii'codeccan'tdecodebyt髫潋啜缅e......加下面三行importsysreload(sys)sys.setdefaultencoding('utf8')这是设置默认的编码方式,这个不能轻易使用,在IDLE中一旦用这个方法输出就不会再起作用。
5、UniCode是一种编码,utf8是UniCode的具体实现,utf8用三个字节代表一个汉字。u'\xe6\xb7\xb1\xe5\x9c\xb3这就就是utf8了u代表Unicode类型,通过decode解码成Unicode
6、F5运行程序结果如下图
7、u'\u6df1\u5733是Unicode字符串形式,转成中文方法如下图
8、F5运行程序结果如下图