编码与解码

 
8bit(位) = 1byt(字节)    1024byte=1Mb   1024Mb=1G  
ascll 最早的编码 8位一个字节(字符和符号,无中文)
GBK 国标码       16位4个字节(字符和中文和符号)
nuicode 万国码 32位8个字节 (字符和中文和符号)
UTF-8 可变长度unicode  英文8位1个字节   欧洲文字16位2个字节 汉字24位3个字节
一个英文占一个字节,一个中文占三个字节
unicode --> bytes    encode()         转码 str.encode('utf-8')    str.encode('gbk')
bytes   --> unicode  decode()         转码 str.decode(转换前的编码)转换回去
 
gbk与UTF-8是无法互相转换的,只能通过unicode来转换
s1 = b'xd6xd0xb9xfa'
s2 = s1.decode('gbk')
print(s2.encode('utf-8'))
或链式写法
s1 = b'xd6xd0xb9xfa'.decode('gbk').encode('utf-8')
print(s1)
原文地址:https://www.cnblogs.com/Mr-wangxd/p/9407334.html