编码(encode)
回忆上次内容
- 这种字节状态是用2位16进制数来表示的
- hex(n)可以把数字转化为
16进制字符串
- bin(n)可以把数字转化为
2进制字符串
- 我们根据ascii中的字符序号
- 能够把字符存储进计算机的字节当中了

- 终于知道字符对应的字节到底长啥样了
- 但是说到底
- 为啥要把字符对应成字节呢?🤔
编码解码

- 就是将文字、数字、其它对象编成数字(字节形态)
- 简单来说就是给大白菜编个号
用计算机统计考勤

计算机视角

分阴阳


二生三

- 由于黑白比例不同
- 灰也可以千变万化
- 所以也说三生万物
- 可计算机中如何进一步量化呢?
量化


2bit编码
| 情况 | 编码 |
| 到了 | 11 |
| 迟到 | 10 |
| 因故没到 | 01 |
| 无故没到 | 00 |

四象

- 春夏秋冬
- 子午卯酉
- 元亨利贞
- 成住坏空
- 乾坤离坎
- 天地日月
- 东南西北
- 生长收藏
- 还可以进一步细化吗?
继续细化
| 情况 | 编码 |
| 到了 | 111 |
| 病假 | 110 |
| 事假 | 101 |
| 迟到10分钟 | 100 |
| 迟到30分钟 | 011 |
| 迟到50分钟 | 010 |
| 因故没到 | 001 |
| 无故没到 | 000 |

四象生八卦

- 计算机最小的存储单位是字节(byte)
- 一个字节(byte)有8位(bit)

- 可以存放下255种货物的可能
- 如果有更多的货物应该怎么办呢?
更多编码


- 编码编码
- 具体来说什么是编呢?
- 就是建立起事物和数字之间的关系就是编
- 什么是码呢?
码(code)
- 条码、二维码、密电码
- 砝码、优惠码、验证码
- 代码、字节码、邀请码


计算机编码


- 明白了码(code)
- 那么这个编码(encode)是什么意思呢?
encode
- enlarge
- endanger
- ensure
- encourage
- golden
- wooden
- woollen
- darken
- 这是 编码英文 encode 的意思
- 可以试试用python编码吗?
python编解码

- 这很简单啊
- str(字符串)
'a' encode(编码)之后
- 为
b'\x61' - b 的意思是bytes(字节序列)
- x 的意思是 hexadecimal(十六进制)

多个字符

help(str.encode)
help("a".encode)

多字符编码


hex

- 如果数字小于255
- 确实可以转化成2位16进制的形态
- 但是类型不是字节
- 而是十六进制的字符串形态

关联
- 两者确实是有关联的
- 字符序号的十六进制形态恰好就是
- 字符在字节中存储的样子

- "a"字符的序号的十六进制形态是0x61
- "a"编码到计算机中的字节状态是b"\x61"
- 两者都是61
总结
- 最早也指电报码
- 后来有各种编码、密码、砝码、条码
- 都指的是把各种事物编个号

- 给事物编号就是编码
- 怎么通过编号找回原来的事物呢?🤔