ascii A : 00000010 8位 一个字节
unicode A : 00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000110 32位 四个字节
utf-8 A : 00100000 8位 一个字节
中 : 00000001 00000010 00000110 24位 三个字节
gbk A : 00000110 8位 一个字节
中 : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)
py3中:str 在内存中是用unicode编码。
1 s1 = 'alex' #py3中str的编码方式uniconde 2 # encode 编码,如何将str --> bytes, (),传输与存储必须是bytes类型 3 s11 = s1.encode('utf-8') 4 s11 = s1.encode('gbk') #b'alex' 5 print(s11) 6 s2 = '中国' 7 s22 = s2.encode('utf-8')#b'xe4xb8xadxe5x9bxbd' 8 s22 = s2.encode('gbk') #b'xd6xd0xb9xfa' 两个中文用4个字节表示,说明为gbk编码方式 9 print(s22)