2.7版本
1.python内部是unicode编码,所以,所有的编码转换,都得经过unicode这个中间转换
2.程序中出现字符串时一定要加一个前缀u
3.不要用str()函数,用unicode()代替
4.不要用过时的string模块。如果传给它非ASCII码,它会把一切搞砸。
5.只有你要写入文件或者数据库或者网络时,才调用encode()函数和decode()函数。
decode 与encode的记忆意思的说明
de-前缀同dis-前缀, 有
"away from" 远离之意,
in前缀en前缀, 有
“放进”,“使进入”,“登入”之意
py源文件编码问题
1.源代码文件前面加:#coding=utf8
2.在使用一些文本编辑器时注意保持的编码格式。一定是utf-8,与源文件的第一句话统一
另外:
1.windows的cmd是GBK编码方式的,输出到CMD时需要变成GBK才能正常显示汉字
decode和encode的另一个知识点
s.decode('gbk','ignore').encode('utf-8′)
因为decode的函数原型是decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;
如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。