DIY摩斯密码翻译器制作教程,从零开始打造你的专属通信工具
- 问答
- 2025-10-04 23:03:19
- 1
我的深夜DIY翻车实录
说实话,我一开始压根没想过要做这玩意儿,那天晚上闲着刷视频,看到一个老电影里有人用摩斯密码发电报,"滴滴答答"的突然就让我来了兴致——要不自己也整一个?反正闲着也是闲着。
先别急着写代码,搞明白这玩意儿是啥
摩斯密码根本不是"密码",其实就是个编码表,每个字母对应一串点和划(比如A是·-,B是-···),最早是电报时代用的,现在嘛...除了装X和真的爱好者谁还用啊(笑)。
我翻出一张1982年的旧杂志内页(我爸收破烂留下的),上面居然有摩斯密码表,字母G的编码居然是"--.",和我网上查的不一样!后来才知道原来国际标准和美国老标准有细微差别——得,还没开始就差点掉坑里。
动手搭个最基础的翻译器
我直接用Python写的,毕竟简单粗暴,最开始的想法特简单:做个字典对应字母和编码不就行了?
morse_dict = { 'A': '.-', 'B': '-...', 'C': '-.-.', # ... 中间省略一堆 '1': '.----', '2': '..---', ' ': '/' }
但实际写起来发现坑太多了:
- 大小写要统一处理(谁打字还分大小写啊)
- 标点符号根本没人记得住编码(问号居然是..--..)
- 最要命的是中文完全没法处理(临时改成用拼音替代)
差点让我放弃的音频生成部分
本来想做个能发声的,用蜂鸣器播摩斯码,结果python的winsound在mac上根本用不了,只好换成pydub,调时间参数时差点疯掉——点、划、间隔的时间比例严格得很,快一点就完全听不懂。
测试时我家狗对着音箱狂吠,估计以为是什么外星信号(笑死)。
竟然还能这么玩?
做好基础版后,我突发奇想加了两个功能:
- 闪烁模式:用电脑屏幕闪烁来传递信号(半夜测试时把自己眼睛闪花了)
- 震动模式:把手机放桌上敲出密码节奏(楼下邻居上来投诉了)
最实用的反而是最无聊的功能——把日常密码转换成摩斯码记在本子上,就算被人看到也看不懂(虽然我自己经常忘记解码规则)。
一些血泪教训
- 别试图支持所有特殊符号!90%的人只会用26个字母
- 时间间隔参数必须可调节,不同人听力敏感度差太多
- 最好加入学习模式,带练习和测验(我后来加了个听写测试,正确率从来没超过60%)
现在这个破程序还在我电脑里躺着,偶尔用来和同样无聊的朋友发中二讯息,有一次把"晚上吃啥"编成密码发群里,结果等到解码完外卖都凉了——所以这玩意儿最大的用处可能是治疗急性子?
要是你也想做一个,我的代码在Github上(项目名还没想好),不过建议还是直接拿来用吧,有些坑真的没必要再踩一遍,毕竟...DIY的乐趣不就在于折腾吗?(虽然大部分时间都在debug)
本文由芮以莲于2025-10-04发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/19462.html