[oeasy]python0016_编码_encode_编号_字节_计算机
编码(encode)
回忆上次内容
上次找到了字符和字节状态之间的映射对应关系
字符对应着二进制字节
二进制字节也对应着字符
这种字节状态是用2位16进制数来表示的
hex(n)可以把数字转化为
16进制
字符串
hexadecimal
bin(n)可以把数字转化为
2进制
字符串
integer
我们根据ascii中的字符序号
能够把字符存储进计算机的字节当中了

终于知道字符对应的字节到底长啥样了
但是说到底
为啥要把字符对应成字节呢?🤔
编码解码
字符和字节之间的关系其实是
编码 encode
解码 decode

编码encode
就是将文字、数字、其它对象编成数字(字节形态)
简单来说就是给大白菜编个号
用计算机统计考勤
实到情况千差万别

怎么编码呢?
计算机视角

情况
编码
到了
1
没到
0
这里只用了一个二进制位
这其实是一个一划开天的过程
分阴阳
世界本是混沌一片

后来我们有了分别心

于是区分出了两种基本特性
阴
阳
但是刻板的非黑即白是危险的
二生三
阴和阳相互斗争、妥协、转化

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


这次用了两个二进制位
于是有了四种可能性
2bit编码
情况
编码
到了
11
迟到
10
因故没到
01
无故没到
00

我们古人的编码要比这经典得多
四象
两仪生四象
这抽象程度非常高

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

这其实也是一个经典的编码
四象生八卦
卦者,挂也。悬索以示人。
3bit可以形成八卦

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

可以存放下255种货物的可能
如果有更多的货物应该怎么办呢?
更多编码
编码可以超过一个字节

需要称重的
每个都有编码

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

早年间是木板子的判例汇编
后来在电报年代汇编电报码

计算机编码
我们编程其实就是把生活中的各种逻辑
对应成计算机中的各种指令代码

这就是编程
也叫写代码
代的意思是指代、代替
码是数码
he is coding...

明白了码(code)
那么这个编码(encode)是什么意思呢?
help(str.encode)help("a".encode)
encode
encode
放在前面
放在后面
前后都放
enlarge
endanger
ensure
encourage
golden
wooden
woollen
darken
使心灵亮起来
山水蒙䷃ 开蒙 启蒙
enlighten 启蒙
en的意思是使东西成为什么样子
这是 编码英文 encode 的意思
可以试试用python编码吗?
python编解码

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

这个encode和hex有点像呢?
多个字符
想查询encode的帮助

先判断类型
查询帮助

可以把多字符的字符串编码为字节吗?
多字符编码

确实可以多字符编码

确实是ascii编码
这有点像hex函数...
hex
查询帮助

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

encode的结果是
字节类型
两者有关联吗?
关联
两者确实是有关联的
字符序号的十六进制形态恰好就是
字符在字节中存储的样子

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

编码基本了解了
给事物编号就是编码
怎么通过编号找回原来的事物呢?🤔
我们下次再说👋🏻
蓝桥->https://www.lanqiao.cn/teacher/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy