20200503-python-字符编码
0000 0001 8位(bit)一个字节(byte),1024byte=1kB
编码:
电脑传输:二进制
美国:ASCII码,一个字节表示(表示所有英文,特殊字符,数字等);
为了解决编码全球化创建了万国码:unicode
unicode-个中文(英文)用4个字节表示;
升级版:utf-8:一个中文用3个字节表示,一个英文1个字节;
GBK:中国自己创建的:一个中文2个字节表示,一个英文一个字节表示
各个编码之间的二进制,不能互相识别,会产生乱码
文件的储存和传输,不能是unicode??(占用空间太多),只能是(utf-8,utf-16,gbk,gb2312,ASCII等)
python3:
str 在内存中使用unicode存储,
bytes类型:
对于英文:
str:表现形式:s="abc"
编码形式:10101010 unicode
bytes:表现形式:s=b‘abc’
编码形式:10101010 utf-8 gbk....
对于中文:
str:表现形式:s="中国"
编码形式:10101010 unicode
bytes:表现形式:s=b‘x\e91\e91\x90\e01\e02\e03’
编码形式:10101010 utf-8 gbk....
#encode编码 ,如何将str类型转换为bytes类型?
s1="abc"
s2=s1.encode('utf-8')