作者:吴来斌
前言:摩斯电码(Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是由美国人萨缪尔·摩尔斯等人共同发明的一种电报通信方式。
一、概论
在摩斯电码中,每一种符号(点、划)都代表一种电脉冲信号,其中“点”代表短脉冲信号,“划”代表长脉冲信号。这些脉冲信号的持续时间、间隔时间和信号间的间隔都有严格的规定,以保证信息的准确传递。摩斯电码最初是为了在电报线上传输而设计的,但随着时间的推移,它也被广泛应用于其他领域,如无线电通信、航海、紧急救援等。
摩斯电码的基本单位是点和划,每个字母或数字都由一定数量的点和划组成。例如,字母“A”在摩斯电码中表示为“·-”(一点一划),而字母“B”则表示为“-···”(一划三点)。此外,摩斯电码还包含了一些特殊符号,如“.”(点)表示句点,“- - -”(三划)表示长音或停顿等。
尽管随着现代通信技术的发展,摩斯电码已经不再是主流的通信方式,但它仍然具有一定的实用价值。例如,在紧急情况下,当其他通信方式无法使用时,摩斯电码可以作为一种备用的通信手段。此外,摩斯电码也被广泛应用于无线电爱好者、航海家、军事人员等群体中,成为一种具有特殊意义的通信方式。
二、编解码器
2.1 摩斯电码映射表
注意:当前映射表除了大写字母和数字之后,还包含常用的英文标点符号。
const morseCodeMap: Record<string, string> = {
'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..',
'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.','Q': '--.-',
'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..',
'0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.',
' ': '____',
'.': '.-.-.-', ',': '--..--', '?': '..--..', '\'': '.----.', '!': '-.-.--', '"': '.-..-.', '#': '..--.-', '$': '...-..-',
'%': '..-.', '&': '.-...', '(': '-.--.', ')': '-.--.-', '*': '-....-', '+': '.-.-.', '-': '-....-', '/': '-..-.',
':': '---...', ';': '-.-.-.', '=': '-...-', '@': '.--.-.', '[': '-.--.', '\\': '..-..-', ']': '-.--.-', '^': '..-.-',
'`': '.--.--', '_': '..--.-', '{': '.--.-.', '|': '|----', '}': '-.--.-', '~': '-.--.'
};
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
2.2 不含中文及中文符号
2.3 编码函数
2.4 解码函数
三、效果预览
注意:本文目前不支持中文的摩斯电码,并且英语字母自动大写
3.1 输入中文弹窗提醒

3.2 自动大写字母


3.3 编码和解码结果
