编码
按约定规则,把文字或数字换成另一种写法,也能按同一规则换回来。
它是什么
编码是按规定替换。解码是按同一规定的反方向换回来。
不懂规则的人,只看见数字、点划或乱码;懂规则的人,看见原来的意思。
班级暗号:1 表示操,2 表示早,4 表示结束。收到 2-1-4,就读成「早操结束」。没有这张表,2-1-4 只是三个数字。
所以编码不是猜谜。它是严格执行一张表,或一条变换规则。编码和解码成对出现;少了反向,发出去的人就收不回来。
名字从哪来
人很早就把话换成别的符号,方便传得更远、更保密。
摩尔斯电码用点和划代表字母。电报时代,滴滴答答就能把消息送到很远的地方。SOS 是三个点、三个划、三个点,现在很多人仍认识。
凯撒密码据说罗马的凯撒用过。字母在字母表上往后挪几位:A 变成 B,C 变成 D,CAT 变成 DBU。这是一种移位编码。
电脑内部也给字母编号。常见的一种约定里,大写 A 是 65,B 是 66,C 是 67。这叫 ASCII,读音可以记成「阿斯克」。你不必背整张表,先记住一句:电脑也给字母编号,才能存储和传送文字。
它怎么工作
规则必须先说清楚,中途不许换规则。否则发出去的人和解的人会对不上。
两种常见规则:
往后移几位。 A 变成 B,Z 怎么办?常常规定绕回 A。这和钟表从 12 回到 1 一样。题干怎么说,你就怎么做。
用序号代表字母。 A 是 1,B 是 2,C 是 3。CAB 变成 3-1-2。解码就查表:3-1-2 回到 C、A、B。
解码是编码的反向。编码往后移 1 位,解码就往前移 1 位。DBU 回到 CAT。
做完以后,最好再正向编一次,看能否回到密文。方向反了,是最常见的错。
可以在草稿纸上先写字母表,再移动,避免跳格。Z 往后移 1 位接 A,A 往前移 1 位接 Z。
生活里在哪里
- 学号、座位号、快递单号
- 交通灯:红停、绿灯行
- 斑马线的黑白相间
- 手机里的拼音输入:按键变成汉字
- 二维码:黑白格子里藏着网址或文字
- 乐谱:把声音写成音符
规律常常和编码一起出现。编码规则是人约定的;规律是序列自己反复出现的。先会「照表换」,再去「找规律」,不容易混。
按步骤替换,本身也是一种 顺序流程:先对准规则,再逐个换,最后检查能否换回来。
和相近概念的差别
| 名称 | 关键差别 |
|---|---|
| 编码 | 规则事先约定,按表替换 |
| 规律 | 规则藏在序列里,要你发现 |
| 特征 | 描述事物的性质,不是换写法 |
| 方程 | 求藏起来的数,不是换字母 |
看到题干里的对照表,就走编码这条路。看到 2、4、6、8,走规律。
编码改变的是「怎么写」,意思应当还能还原。如果换完再也回不去,那就不是完整的编码。
常见误会
误会 1:编码中途改规则。
前三个字母移 1 位,后两个移 2 位,对方解不开。
误会 2:解码方向弄反。
往后编的,要往前解。做完用原文再编一次,就能发现。
误会 3:漏掉某一个字母或数字。
密文少一格,整句都会错位。
误会 4:Z 后面不知所措。
题目若规定循环,Z 往后是 A。题干没说,不要自己发明,可以先问清楚。
想知道更多
- 活动:CS Unplugged《不插电的计算机科学》里有二进制、传暗号、用卡片编码的游戏。
- 电影:《隐藏人物》(Hidden Figures)。和家长一起看:早期计算机科学家怎样把计算步骤写清楚、把信息传准确。
- 生活作业:和同学约定「字母后移 1 位」,互发三个单词,看能否解回原文。记住 Z 要绕回 A。
未登录时不会保存学习进度