一、摆个图
DJ DJ DJ Decode、 J 解码
首先得知道字符串有哪些编码格式,至于为什么会有这么多的编码格式,以后再了解更新。
1、ASCII 占1个字节,只支持英文
2、GB2312 占2个字节,支持6700+汉字
3、GBK GB2312的升级版,支持21000+汉字,中文2个字节。
4、Unicode 2-4字节 已经收录136690个字符
5、UTF-8: 使用1、2、3、4个字节表示所有字符;优先使用1个字符、无法满足则使增加一个字节,最多4个字节。
英文占1个字节、欧洲语系占2个、东亚占3个,其它及特殊字符占4个。中文3个字节。
6、UTF-16: 使用2、4个字节表示所有字符;优先使用2个字节,否则使用4个字节表示。
在 python2 和 python3 默认的编码格式是不一样的。Python2默认是ASCII编码,python3 是unicode编码。所以在用python2 时候会 绕一下。
一般在用 python2 时候会先在开头加上
#coding=utf-8
Python2中默认是ASCII码,一般会加入以utf-8编程。那么这个时候所有用到的 字符串 都是 utf-8 的编码格式,中文也不例外。
#coding=utf-8#Python2中默认是ASCII码,一般会加入以utf-8编程
a = '编码' #a是utf-8类型
b = a.decode('utf-8') #b是Unicode类型
c = b.encode('gbk') #c是gbk类型
d = c.decode('gbk').encode('utf-8') #先将c转换成Unicode,再转成utf-8
printa ,b,c,dprint type(a),type(b),type(c),type(d)
python3 默认是Unicode 编码格式
a = '编码' #a是unicode类型
b = a.encode('utf-8') #b是utf-8类型
c = a.encode('gbk') #c是gbk类型
print(a ,b,c)print(type(