python之编码decode

ASCII
8位 一个字节 表示 比如A : 00000010
Unicode
32位 4个字节 表示 比如A:00000000 00000001 00000010 00000100
中文也是32位
utf-8 8 位一个字节表示 比如 A:00100000
中文24位3个字节 : 0000001 00000000 00000000
gbk 英文 8位 一个字节
中文 16位 两个字节

1.各个编码之间的二进制,是不能互相识别的,会产生乱码。
2.文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk gb2312 ASCII)

python3的str,在内存中是用Unicode编码的。
bytes类型
对于英文:str : 表现形式:s=‘alex’
编码方式:01010101 unicode
bytes:表现形式: s=b’alex’
编码方式:01010101 gbk utf-8等等
对于中文:str: 表现形式:'中国'
编码形式:01010101 Unicode
bytes:表现形式:b'xe97e91e21e21e32e15
编码形式:
encode 编码
将Unicode转换成utf-8或者gbk
将str--》bytes:s11=s1.encode(‘utf-8’)

原文地址:https://www.cnblogs.com/chif/p/9280930.html