什么是编码?
编码本质上是一个信息转换系统.也可以理解为一张对应表.
假设我要需要用什么东西来表示男和女这两个概念.图中的0和1就是一个,不过能达到类似这样效果的东西还很多.比如: 白色和绿色,高和低,硬或软等等都可以用来代表男和女这两个概念. 我们只需要在中间加一个信息转换就可以了.
如何编码?
有两个很著名的编码系统
- Morse Code
- Braille Code
为何如此编码
如果让我去对英文字母表用点划去编码,应该是这样子的:A: . | b: - | c: ..|d: .- ....这样按顺序编排下去.但是很明显和上面的编码差异很大. 他们为什么那样编码呢?
这是因为他们在考虑编码的的同时也考虑到了其他的一些因素.比如说:Morse Code对使用频率非常高的字母e和t分别用最简单的点和划来表示. Braille Code中A-J只用到了上面的四个点,而K-T实在A-J的基础上多加了一个点. 并且有时用一个编码来表示一个词组.
除了正常的一个编码对应一个字符或多个字符之外,还有几个特殊的编码.它不代表任何字符,只是用来起一个标志作用.标志着从这个编码开始,与其相关的一些编码(比如:前一个,前多个,后一个,后多个编码)应该以不同的方式去解释.这样的编码有:shift code 和 escape code
shift code: 如果用1-26来编码A-Z的话,我们把27当做是一个shift code ,它可以用来表示:在其之后的数字翻译的时候应该翻译成小写字母.如:正常情况下 1 2 3翻译为A B C,而27 1 2 3 则翻译为 a b c .
escape code: 可以起到和shift code 一样的作用.不过它只能影响到其后的第一个字母.如 28作为一个shift code 可以用来表示其后的第一个编码需翻译成自身, 一般将1翻译成A,而将28 1 翻译成 1.
通过以上这些特殊的编码方式,你在使用的时候可能会发现,这样的方式更利于表达,而且表达的内容也更加丰富.
如何使码字最短
码字:一个编码 .如:用010表示字母A.那么010就是一个码字.
码字过长的坏处是很明显的.
要使码字最短,就必须不能浪费任何一个编码.
现在的计算机系统,使用二进制数据进行编码的.至于什么是进制?又为什么是二? 暂时不做展开.
对于一定长度的二进制数据,它到底包含多少个码字?是可以明确计算出来的.如下图,图中的点划数可以理解为二进制数据的长度.
如上图所示,一定长度的二进制数据所能表示的码字数是有上限的.而当码字数达到上限时的时候,也就是最短的.
如何使用编码?
人们可以用手电筒的长亮和短亮来发送Morse Code.
也可以用凸起的点来传递Braille code.
不过这都是最初级的应用,在电磁学发展到一定阶段的时候.人类发明了电报系统. 使用电报系统+编码,首次实现了跨越100英里的通讯.
在电报系统之后,人们发现随着导线越长其电阻越大.在超过两百英里之后就不能再收到任何信号.也就是通讯的瓶颈出现了.想要超越两百英里,必须打破这个瓶颈.
打破这瓶颈的是一个伟大的发明,而正是这项伟大的发明,开启了自动化时代的大门.它的名字叫做:继电器.