编码(encode)
回忆上次内容
- 这种字节状态是用2位16进制数来表示的
- hex(n)可以把数字转化为
16进制
字符串
- bin(n)可以把数字转化为
2进制
字符串
- 我们根据ascii中的字符序号
- 能够把字符存储进计算机的字节当中了
![[oeasy]python0016_编码_encode_编号_字节_计算机_第1张图片](http://img.e-com-net.com/image/info8/368906b0a36d433f8d16034ebf933ad7.jpg)
- 终于知道字符对应的字节到底长啥样了
- 但是说到底
- 为啥要把字符对应成字节呢?
编码解码
- 就是将文字、数字、其它对象编成数字(字节形态)
- 简单来说就是给大白菜编个号
用计算机统计考勤
![[oeasy]python0016_编码_encode_编号_字节_计算机_第2张图片](http://img.e-com-net.com/image/info8/da737e19777f47ceb3d5b4205182fe0a.jpg)
计算机视角
![[oeasy]python0016_编码_encode_编号_字节_计算机_第3张图片](http://img.e-com-net.com/image/info8/81a735f7a75c4af3959f5c810ed039e8.jpg)
- 这里只用了一个二进制位
- 这其实是一个一划开天的过程
分阴阳
![[oeasy]python0016_编码_encode_编号_字节_计算机_第4张图片](http://img.e-com-net.com/image/info8/d95f4541de8240debb91bc429ad38069.jpg)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第5张图片](http://img.e-com-net.com/image/info8/11dcd82921b24f5aab56e8ddf16f1ede.jpg)
二生三
![[oeasy]python0016_编码_encode_编号_字节_计算机_第6张图片](http://img.e-com-net.com/image/info8/8315f03c72c44ac2a4160cc941a6c59e.jpg)
- 由于黑白比例不同
- 灰也可以千变万化
- 所以也说三生万物
- 可计算机中如何进一步量化呢?
量化
![[oeasy]python0016_编码_encode_编号_字节_计算机_第7张图片](http://img.e-com-net.com/image/info8/ded70c90c96e45ae9bf22863d69bf7fb.jpg)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第8张图片](http://img.e-com-net.com/image/info8/818c692aef1041a196754e5ac270b336.jpg)
2bit编码
情况 |
编码 |
到了 |
11 |
迟到 |
10 |
因故没到 |
01 |
无故没到 |
00 |
![[oeasy]python0016_编码_encode_编号_字节_计算机_第9张图片](http://img.e-com-net.com/image/info8/e9ccf0eda6f5448c8025fcbee7795b12.jpg)
四象
![[oeasy]python0016_编码_encode_编号_字节_计算机_第10张图片](http://img.e-com-net.com/image/info8/d41e63e7e6654934add944f20dfdf122.jpg)
- 春夏秋冬
- 子午卯酉
- 元亨利贞
- 成住坏空
- 乾坤离坎
- 天地日月
- 东南西北
- 生长收藏
- 还可以进一步细化吗?
继续细化
情况 |
编码 |
到了 |
111 |
病假 |
110 |
事假 |
101 |
迟到10分钟 |
100 |
迟到30分钟 |
011 |
迟到50分钟 |
010 |
因故没到 |
001 |
无故没到 |
000 |
![[oeasy]python0016_编码_encode_编号_字节_计算机_第11张图片](http://img.e-com-net.com/image/info8/bd8a5385af504c8da51b30b222d4a666.jpg)
四象生八卦
![[oeasy]python0016_编码_encode_编号_字节_计算机_第12张图片](http://img.e-com-net.com/image/info8/8e181f47342b44e196037cfa5c1657fc.jpg)
- 计算机最小的存储单位是字节(byte)
- 一个字节(byte)有8位(bit)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第13张图片](http://img.e-com-net.com/image/info8/e0970e968be24f8a9f7fcd11f1025e35.jpg)
- 可以存放下255种货物的可能
- 如果有更多的货物应该怎么办呢?
更多编码
![[oeasy]python0016_编码_encode_编号_字节_计算机_第14张图片](http://img.e-com-net.com/image/info8/fda9cc386c994a9b960f25fa2139371d.jpg)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第15张图片](http://img.e-com-net.com/image/info8/e40078405ae241ae9ef23386726a6675.jpg)
- 编码编码
- 具体来说什么是编呢?
- 就是建立起事物和数字之间的关系就是编
- 什么是码呢?
码(code)
- 条码、二维码、密电码
- 砝码、优惠码、验证码
- 代码、字节码、邀请码
![[oeasy]python0016_编码_encode_编号_字节_计算机_第16张图片](http://img.e-com-net.com/image/info8/61ff085ff5644f1ebf8b8b8df7e61bb7.jpg)
计算机编码
![[oeasy]python0016_编码_encode_编号_字节_计算机_第17张图片](http://img.e-com-net.com/image/info8/dbd7295311924cddbe41cd9cb577c0da.jpg)
- 明白了码(code)
- 那么这个编码(encode)是什么意思呢?
encode
- enlarge
- endanger
- ensure
- encourage
- golden
- wooden
- woollen
- darken
- 这是 编码英文 encode 的意思
- 可以试试用python编码吗?
python编解码
![[oeasy]python0016_编码_encode_编号_字节_计算机_第18张图片](http://img.e-com-net.com/image/info8/7fd149f4b2dc4641895e8bf71c4ccfbc.jpg)
- 这很简单啊
- str(字符串)
'a'
encode(编码)之后
- 为
b'\x61'
- b 的意思是bytes(字节序列)
- x 的意思是 hexadecimal(十六进制)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第19张图片](http://img.e-com-net.com/image/info8/f7d14185411445c1bd1138f1c9de8a79.jpg)
多个字符
![[oeasy]python0016_编码_encode_编号_字节_计算机_第20张图片](http://img.e-com-net.com/image/info8/009c0c410bbc46d2bd6bb9066c97663c.jpg)
help(str.encode)
help("a".encode)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第21张图片](http://img.e-com-net.com/image/info8/8e75757e60fe4d8d9c27132c4e7ee783.jpg)
多字符编码
![[oeasy]python0016_编码_encode_编号_字节_计算机_第22张图片](http://img.e-com-net.com/image/info8/62de52ad0281464f9943577b46f1e1a2.jpg)
![[oeasy]python0016_编码_encode_编号_字节_计算机_第23张图片](http://img.e-com-net.com/image/info8/931d5f99b240400aa5cd0ad3aa5a26fb.jpg)
hex
![[oeasy]python0016_编码_encode_编号_字节_计算机_第24张图片](http://img.e-com-net.com/image/info8/923e6283aec042578d54d5726a017e11.jpg)
- 如果数字小于255
- 确实可以转化成2位16进制的形态
- 但是类型不是字节
- 而是十六进制的字符串形态
![[oeasy]python0016_编码_encode_编号_字节_计算机_第25张图片](http://img.e-com-net.com/image/info8/31250b51fc1a4a4d9ce8a1b0640c7f84.jpg)
关联
- 两者确实是有关联的
- 字符序号的十六进制形态恰好就是
- 字符在字节中存储的样子
![[oeasy]python0016_编码_encode_编号_字节_计算机_第26张图片](http://img.e-com-net.com/image/info8/98019c817915496bb73c5d6793fb4686.jpg)
- "a"字符的序号的十六进制形态是0x61
- "a"编码到计算机中的字节状态是b"\x61"
- 两者都是61
总结
- 最早也指电报码
- 后来有各种编码、密码、砝码、条码
- 都指的是把各种事物编个号
![[oeasy]python0016_编码_encode_编号_字节_计算机_第27张图片](http://img.e-com-net.com/image/info8/ef8a7bc25c404d608f5b5b9e0bcd8285.jpg)
- 给事物编号就是编码
- 怎么通过编号找回原来的事物呢?
- 我们下次再说
- 蓝桥->https://www.lanqiao.cn/teacher/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
- 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy