摩斯密码,又称摩尔斯密码,或者摩斯代码。
是十九世纪摩尔斯发明的一种靠单音就能传播信息的编码方式,主要是对26个英文字母进行了编排,当然还有数字和控制字符。
一般介绍莫斯代码都是按照26个字母的音序介绍的,把莫斯代码中的滴嗒,按照二进制的思想重新做了编排,如下图:
思路是把短音di当作二进制中的0,长音dah当作二进制中的1,可以将26个字母所代表的摩斯代码按照上图中的位置排列。
这样排列的好处是可以助记,可以帮助实现即时转义。例如听到一声短音后,就要联想E和E后面的字母,等听到三短后,就可以快速转义为字母S。
另外还有一个表格是英文字母在英文中的出现频率:
字母
|
英语中出现的频率
|
e
|
12.70%
|
t
|
9.06%
|
a
|
8.17%
|
o
|
7.51%
|
i
|
6.97%
|
n
|
6.75%
|
s
|
6.33%
|
h
|
6.09%
|
r
|
5.99%
|
d
|
4.25%
|
l
|
4.03%
|
c
|
2.78%
|
u
|
2.76%
|
m
|
2.41%
|
w
|
2.36%
|
f
|
2.23%
|
g
|
2.02%
|
y
|
1.97%
|
p
|
1.93%
|
b
|
1.49%
|
v
|
0.98%
|
k
|
0.77%
|
j
|
0.15%
|
x
|
0.15%
|
q
|
0.10%
|
z
|
0.07%
|
两张表对比可以发现,仅用一个码元来表示E和T还是有道理的,可以更快的将这个字母发送出去。但是有几个字母例如hlc的位置可能就不太合适,当然这只是参考。
要知道当时最原始的模型是直接发送26种码元,是摩尔斯采用编码方式,用一个码元的的不同编码方式来表示,大大简化的硬件。其实这种编码有三种形态,短音,长音,静默。现在用二进制方式来回看这种编码,还是要很敬佩他当时的思维方式。
在现代通信中,依赖于数字电路,我们实现了信息的二进制编码方式,例如ASCII,用7个(或者8个)bit来表示一个字符。当然,信息容量也更大了,支持更多的字母字符和控制信息。
还可以将摩斯代码通过二叉树方式表示出来:
可以看到为了保持数字都是用5个码元来表示,四个码元的位置上有几个是无意义数据。