标签:字符 内存 一个 color ascii码 utf-8 类型 字符串 传输
ascii码
一个字符占8位,用一个字节表示
A:00000010 8位 一个字节
Unicode
一个字符占32位,用四个字节表示
A :00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000110
utf-8
A:00000010 8位 一个字节
中:00000000 00000001 00000110 24位 三个字节
gbk:
A:00000010 8位 一个字节
中:00000000 00000110 16位 两个字节
注意:
1. 各个编码的二进制不能互相识别,会产生乱码
2. 文件的储存、传输,不能是Unicode(只能是utf-8/16/gbk/gbk2312/ascii码进行存储和传输)
python3中
字符串在内存中使用Unicode储存的
bytes类型编码方式:utf-8,gbk,gb2313,ascii
对于英文:
str:
表现形式 s=‘alex‘
编码方式 010101010 unicode
bytes:
表现形式 s=b‘alex‘
编码方式 000101010 utf-8/gbk
对于中文:
str:
表现形式 s=‘中国‘
编码方式 010101010 unicode
bytes:
表现形式 s=b‘x\e91\e91\e01\e21\e31\e32‘
编码方式 000101010 utf-8/gbk....
将str转换成bytes类型(传输和存储必须是bytes类型)
s1=‘alex‘ s2=s1.encode(‘utf-8‘) print(s2) #b‘alex‘
标签:字符 内存 一个 color ascii码 utf-8 类型 字符串 传输
原文地址:https://www.cnblogs.com/yangyuqing/p/9790194.html