莫尔斯电码解惑

如何区分字符和单词边界

通过间隔时间长短区分。字符用3个间隔时间,单词用7个间隔时间

出错了该如何修正

古老的做法是在错误的单词后面敲出8个 ".",但是这样听起来很突兀,所以现在更一般的做法是敲两个i,即 ".. ..",例如:

# how r u today
.... --- .--   .-.   ..-   - --- -.. .- -.--
# how r u todax ii today
.... --- .--   .-.   ..-   - --- -.. .- -..-   .. ..   - --- -.. .- -.--

但是很多情况下是会直接忽略这些错误,毕竟超收人也能明白你的意思,并且一般一条消息会重复多次发送,你后面发对就好了

中文怎么发

类似unicode编码,先将所有中文编码成四位或六位数字,然后发送数字即可,抄手方根据数字再查表,这样做唯一的好处是不用中间停顿了,可以像机关枪一样一直发(如果中间参杂着字母或符号还是要停)

反正是要查表,所以它还有个好处,就是能做对称加密

除此以外,一无是处

怎么不用哈夫曼编码

哈夫曼编码有很多好处,可以给常用的字符分配更短的编码,节省发送字节数。并且哈夫曼编码不需要分隔符,可以连续发送。

那为啥不用哈夫曼编码呢,以下为我自己的理解

首先,哈夫曼编码虽然可以根据频次给字符分配最优前缀编码,但其单字符编码长度依旧是很长的,莫尔斯编码相比就短很多。

并且哈夫曼编码的容错率太低了。由于哈夫曼编码不用分隔符,它更适用于环境相对稳定的场景,例如计算机之间的通信。计算机有很多纠错机制,使得两台计算机之间的数据传输很少会发生错误。而人去抄收和发送就不一样了,出错概率更大,一旦某些位置出错,则后面很大概率都会出问题。

再着,莫尔斯编码发明于1836年,而哈夫曼树发明于1952年

练习软件

我发现一款手机app名为 MorseMania,可以用来练习发送和抄收,不过练着练着就要收费了

还有个app叫 Morse code,UI没上面那个好看,但功能更多并且免费

Leave a Comment