1.python代码运行方式
- 脚本式(平时)
- 交互式(pycharm>>>左下角Terminal>>>输入python3即可在此输入代码
2.进制
计算机中底层所有的数据都是以010101的形式存在(图片、文本、视频等)
- 二进制
- 八进制
- 十进制
- 十六进制
2.1进制转换
3.计算机中的单位
由于计算机中本质上所有的东西以二进制进行存储和操作,为了方便对于二进制值大小的表示,所以就搞了一些单位。
- b(bit),位
- B(byte),字节
1B=8b
- KB(kilobyte),千字节
1KB=1024B=1024*8b
- M(Megabyte),兆
1M=1024KB=1024*1024B=1024*1024*8b
- G(Gigabyte),千兆
1G=1024M=1024*1024KB=1024*1024*1024B=1024*1024*1024*8b
- T(Terabytte),万亿字节
1T=1024G
- 其他更大单位PB/EB/ZB/YB/BB/NB/DB不再赘述。
小练习:
- 假设1个汉字需要2个字节(2B=16b来表示,如:1000101011001100),那么1G流量可以通过网络传输多少汉字呢?(计算机传输本质上也是二进制)
=1024*1024*1024/2
- 假设1个汉字需要2个字节(2B=16b来表示,如:1000101011001100),那么500G硬盘可以存储多少个汉字?
=500*1024**3/2
4.编码
编码,文字和二进制之间的一个对照表。
4.1ascii编码
ascii规定使用1个字节来表示字母与二进制的对应关系。
4.2gb-2312编码
gb-2312编码,由国家信息标准委员会制作(1980年)。
gbk编码,对gb2312进行扩展,包含了中日韩等文字(1995年)。
在与二进制做对比关系时,有如下逻辑
- 单字节表示,用一个字节表示对应关系。(向下兼容 即ASCII 2**8=256个字符)
- 双字节表示,用两个字节表示对应关系。(2**16=65536种可能型)
4.3unicode
unicode也被称为万国码,为全国的每个文字都分配了一个码位(二进制表示)。
- Ucs2
用固定的2个字节去表示一个文字。
- Ucs4
用固定的4个字节去表示一个文字。
unicode的应用:在文件存储和网络传输时,不会直接使用unicode,而在内存中会使用unicode(因为字节长度固定,方便读取)。
4.4utf-8编码
包含所有文字和二进制的对应关系,全球应用最为广泛的一种编码(站在巨人的肩膀上功成名就)。
本质上:utf-8是对unicode的压缩,用尽量少的二进制去与文字进行对应。
具体压缩的流程:
- 第一步:选择转换模块
- 第二部:在模板中填入数据
4.5python相关的编码
v2="yyr".encode("utf-8") 将字符串转换为字节(utf-8编码)