1.5-python基础数据类型补充-编码进阶
基础数据类型补充-编码进阶
https://www.processon.com/view/link/5c99fe1fe4b0353e3c62e606#map
基础数据类型的总结:
按存储空间占用
数字
字符串
集合:无序,即无序存储索引相关信息;
元组:有序,需要存储索引相关信息,不可变;
列表:有序,需要存储索引相关信息,可变,需要处理数据的增删改;
字典:有序,需要存key与value映射的相关信息,可变,需要处理数据的增删改查(3.6之后有序)
按存储个数区分
标量/原子类型:数字,字符串;
容器类型:列表,元组,字典;
按可变不可变区分
可变:列表,字典;
不可变:数字,字符串,元组,布尔值;
按访问顺序区分
直接访问:数字;
顺序访问:字符串,列表,元组;
key值访问:字典;
编码的进阶
编码就是密码本,编码记录的就是二进制与文字之间的对应关系,现存的编码本有:
在计算机内存中,统一使用Unicode编码,当需要将数据保存到硬盘或通过网络传输的时候,就转换为非Unicode编码:比如UTF-8编码;
# str --> bytes
# encode称作编码:将str类型转化成bytes类型
a = '中华人民共和国'
b = a.encode('utf-8') # 转化成utf-8的bytes类型
print(a)
# 中华人民共和国
print(b)
# b'\xe4\xb8\xad\xe5\x8d\x8e\xe4\xba\xba\xe6\xb0\x91\xe5\x85\xb1\xe5\x92\x8c\xe5\x9b\xbd'
# bytes --> str
# dicode称作解码,将bytes转化成str类型
a = b'\xe4\xb8\xad\xe5\x8d\x8e\xe4\xba\xba\xe6\xb0\x91\xe5\x85\xb1\xe5\x92\x8c\xe5\x9b\xbd'
b = a.decode('utf-8')
print(b)
# 中华人民共和国
bytes类型叫做字节文本,编码方式是非Unicode的编码,非Unicode即可以是gbk,也可以是UTF-8,还可以是GB2312...