python 编码拓展,小数据池,
编码拓展:
1.在所有类型的编码中,编码的二进制互不识别,
2.在传输的过程中不能是万国码的二进制解码传输,
因此将unicode变为utf - 8或者变成gbk编码尤为重要;
利用encode编码为utf - 8或者gbk
或者decode解码
1 s = '中国' 2 print(s.encode('utf-8')) 3 #结果:b'\xe4\xb8\xad\xe5\x9b\xbd' 4 5 6 #将utf-8 转换为gbk先要转换为unicod 7 8 s = 'alex' 9 s1 = s.encode('utf-8') 10 s2 = s1.decode('utf-8').encode('gbk') 11 print(s2) 12 #b'alex'
小数据池:
is and id
s = 257
s1 = 257
print(id(s),id(s1))
两个变量在内存中的地址不同证明他们不在一个小数据池中,
小数据池的作用是用来节省内存储存空间的
只有int类型和str类型拥有小数据池
将两个变量指向相同的数据的时候,当数据在一定范围的时候将会有一个相同的地址来储存这个数据并且,id相同,
int的小数据池是 -5 到256
str的小数据池很迷!!!!单独输入相同的字符串,不带任何字符的情况下,多长都储存在一个id中,但是只要用有其他字符的存在就会出现混乱不等
当运用加减乘除时候有一定的规律。