day04--进制和编码*

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编码)

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值