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...

posted @ 2020-12-03 18:40  黑色利穆  阅读(60)  评论(0编辑  收藏  举报