使用方法
- 在左边输入框里打字,示例 SOS HELLO 2026。能编码的字符只有 A–Z 二十六个字母、0–9 十个数字,以及
. , ? / = + -七个标点,大小写不区分。 - 点「开始编码」,或在输入框里按 Ctrl+Enter(macOS 是 Cmd+Enter)——Enter 留给换行,多行文本可以一次全编。右边立刻给出点划串。
- 词与词之间会自动插入
/分隔,字母之间保持 1 个空格,这是摩斯书写约定的词界与字符界。 - 输入里有汉字、emoji 等表外字符时不会静默丢弃:结果照常输出,状态行会写清跳过了几个字符、分别是哪些。
- 「载入示例」随时还原 SOS HELLO 2026;「复制结果」把点划串写入剪贴板。
- 要查某个字符的编码,用下方 43 行速查表:「加载更多」每次追加 12 行;CSV / TSV 导出始终给完整 43 行。
这个文本转摩斯电码转换器能解决什么问题
第一类场景是发报练习与业余无线电。把自己想发的呼号、CQ 短语先编成点划再对照耳机里听到的节奏,比直接听录音更容易定位是哪个字母没听出来;示例 SOS HELLO 2026 一次覆盖字母、数字与词界三种结构。
第二类场景是谜题与文创制作。密室道具、手账贴纸、项链刻字都常用点划当装饰文字;先编好再排版,能保证点划数量与长度是对的,不会出现「S 写成两个点」这类硬伤。
第三类场景是教学与科普。摩斯电码是最容易讲清「变长编码」的案例:E 只要 1 个符号、J 要 4 个,数字统一 5 个,正好说明「常用字符给短码」的设计思想;用本页把一段英文编一遍,比背对照表直观得多。
这个文本转摩斯电码转换器 不做的事也说清楚:它只做「文字到点划」这一个方向,把点划还原成文字是另一个页面的职责;不处理音频,也不把点划渲染成声音;不做中文电报码(那是四位数字对汉字的另一套体系);不自动纠错,表外字符只报告不猜。
原理与规则说明
字符映射遵循 ITU-R M.1677《国际摩斯电码》的定义。正文包含 26 个字母与 10 个数字;本页另外收录了七类常用标点 . , ? / = + -,它们不属于 M.1677 的正文部分,来自无线电行业惯例(MIL-STD-188 与 ARRL 手册沿用),合并后构成 43 行速查表。
字母的编码长度是刻意设计成不等长的:1 个符号的只有 E,2 个符号的有 I、A、N、M 四个,3 个符号的八个,4 个符号的十二个;26 个字母合计 82 个点划符号,平均每个字母 3.1538 个符号。英文里出现频率最高的 E、T 分别只占 1 个符号,这就是「常用字符短码」的最直观体现。数字则一律 5 个符号,0 到 9 用点划的排列组合覆盖十种可能。
分隔规则是这套编码的第二半。字符之间写 1 个空格,词与词之间在书面转录里习惯写成 3 个空格,本页统一用斜杠加两侧空格( / )表示词界。之所以不直接打 3 个空格:连续空格在聊天窗口、表格单元格和 URL 里都容易被压成 1 个,而斜杠是可见字符,复制粘贴不会走样。
这带来一个需要说清的点:斜杠本身也是可编码字符,编码为 -..-.。由于词界写的是「空格斜杠空格」,而字符编码里永远不含空格,所以两者不会混淆——输入里的斜杠会变成 -..-.,词界仍然是独立的 / 。这一点与需要靠上下文判断的情形(例如解码侧把 -...- 优先当过程信号 BT)不同,编码方向不存在歧义。
编码前的归一化有三步:先把整段文本转成大写(国际摩斯没有大小写,A 与 a 的编码完全相同);再把制表符、全角空格、连续空白压成单个空格;最后按空格切词,丢掉空词。归一化只改书写形式,不改变字符本身,所以「Hello world」和「HELLO WORLD」得到完全相同的输出。
输出的长度可以精确预估,公式是:输出字符数 = 点划符号总数 + (编码字符数 − 词数) + 3 × (词数 − 1)。等号右边第一项是点划,第二项是字符间的单空格,第三项是每处词界的 3 个字符。以 HELLO WORLD 为例,点划 32 个、字符 10 个、词 2 个,32 + (10 − 2) + 3 = 43,与实测的 43 个字符逐位一致。
表外字符的处理是一条明确的设计选择:跳过并统计,不静默、不猜。汉字、emoji、重音字母(é、ü)都不在表内,本页会把它们逐个收进「跳过清单」,在状态行写出数量与前若干个原文。这样你既拿到了能用的点划串,也知道自己丢了什么,而不是得到一个看起来正常、实际少字的输出。
完整示例(数值仅作演示)
输入框默认是 SOS HELLO 2026,与输出框、状态行、以及对照表里的 S、O、H、E、L、2、0、6 各行三处咬合。
- SOS 编码为
... --- ...,三个字符共 9 个符号; - HELLO 编码为
.... . .-.. .-.. ---,五个字符共 16 个符号; - 2026 编码为
..--- ----- ..--- -....,四个数字各 5 个符号,共 20 个符号; - 三段合计 12 个编码字符、45 个点划符号、2 处词界;
- 输出总长 = 45 + (12 − 3) + 3 × 2 = 60 个字符,与页面上输出框的长度一致。
再算一条纯字母的:输入 HELLO WORLD,点划 32 个、字符 10 个、词 2 个,输出 43 个字符。把空格多打几个变成 HELLO WORLD,归一化后结果一字不差——连续空白会被压成单个词界。最后看表外字符:输入 你好 HELLO,输出仍是 .... . .-.. .-.. ---,状态行写「跳过 2 个表外字符:你、好」,而不是把这两个字换成问号混进点划里。
输入范围与对照表
输入没有「最少几个字符」的要求,但有上限:超过 20000 个字符会被拒绝并说明原因。原因是输出会膨胀——字母平均 3.1538 个符号再加 1 个分隔空格,约合每个字母 4.1538 个输出字符,20000 个纯字母会变成约 83076 个字符(约 8.3 万);如果全是数字,每个数字 6 个输出字符,膨胀到约 120000 个字符。再大的文本放进文本框会明显卡顿,分段处理更快。
| 类别 | 收录 | 数量 | 符号数 | 依据 |
|---|---|---|---|---|
| 字母 | A–Z | 26 | 1~4 | ITU-R M.1677 |
| 数字 | 0–9 | 10 | 固定 5 | ITU-R M.1677 |
| 标点 | . , ? / = + - | 7 | 5~6 | 行业惯例(MIL-STD-188 / ARRL) |
下方速查表按「字母 → 数字 → 标点」排 43 行,页面直出前 12 行(A 到 L);「加载更多」每次追加 12 行,三次点完;CSV 导出始终给全部 43 行(带 BOM,Excel 打开不乱码),TSV 复制可直接贴进表格软件。
输入范围、边界与精度说明
合法字符只有三类:A–Z(大小写都行,会统一转成大写)、0–9、以及 . , ? / = + -。其余一律算表外字符,包括汉字、日文假名、emoji、重音字母、括号、引号、井号等常见符号。表外字符不阻断编码,也不会被替换成空格或问号,而是被跳过并计入清单。
两类失败路径有独立文案。输入为空或只有空白时提示「输入为空:请先输入要编码的文本」;整段输入一个可编码字符都没有(例如全是中文)时提示「没有可编码字符」并列出跳过数量——这种情况下输出框会保持为空,而不是给你一个空字符串却不说原因。
长度上限是 20000 个字符,超过即拒绝。这里不设更细的「警告区间」,因为膨胀率是可算的:知道输入是纯字母还是纯数字,就能用 4.1538 或 6 这两个系数估出输出规模。
三条常见误用。其一,把词界直接打成 1 个空格——摩斯的字符界也是 1 个空格,两者会混在一起,接收方会把整句读成一个长词;正确写法是斜杠或 3 个空格。其二,以为大小写有区别——A 与 a 的编码完全相同,输出统一大写不丢信息。其三,用本页编码中文——国际摩斯不覆盖汉字,需要中文电报码那套「四位数字对汉字」的体系,而那是另一个方向的工具。
常见问题
词与词之间到底该打几个空格?
摩斯发射时词间隔约 7 个时间单位,书写上约定成 3 个空格。本页为了防粘贴走样,统一输出「空格 + 斜杠 + 空格」;两种写法在解码侧都被接受,但只打 1 个空格会被当成字母间隔,整句连成一个词。
输入中文会怎样?
会被逐个跳过并统计,状态行写清跳过了几个、分别是哪些字符,输出的点划串对应剩下的可编码部分。不会静默丢弃,也不会把汉字替换成问号混进点划里。
大小写会影响编码结果吗?
不会。国际摩斯电码没有大小写区分,A 与 a 都编码为 .-。输入会先统一转成大写再查表,所以输出恒为大写形态。
为什么 S 是三个点,O 是三个划?
这是 ITU-R M.1677 规定的编码,不是可以自己约定的。字母编码长度从 1 个符号(E)到 4 个符号(J、Q)不等,设计上让高频字母用更短的码,以缩短整段电文的发报时长。
数字为什么都是 5 个符号?
因为 5 个点划位置可以表示 2 的 5 次方减 2 共 30 种非全点全划的组合,足够覆盖 0 到 9 且留有余量;实际用的是「前几位是点、后几位是划」这条规律,例如 1 是 .----、9 是 ----.,规律性极强,几乎不用背。
斜杠会不会和词界混淆?
不会。斜杠字符的编码是 -..-.,而词界写作「空格斜杠空格」。点划编码里永远不含空格,所以凭空格就能区分两者,编码方向不存在歧义。
能一次编码很长的文本吗?
可以,但有上限:超过 20000 个字符会被拒绝。原因是输出会膨胀到输入的 4 倍以上(纯数字约 6 倍),20000 个纯字母会得到约 8.3 万个字符,再大文本框会明显卡顿。长文建议按段落分段编码。
输入的内容会被上传吗?
不会。查表、拼串、渲染表格全部在这个页面的内存里完成,没有任何网络请求;开发者工具的 Network 面板里除了页面自身的资源不会有新请求,刷新后输入即清空。
相关工具
文本转摩斯电码转换器 只负责「文字变点划」,相邻的编码与进制还原各有专门页面。
- Base64 编码——另一种「字符序列变代码」的编码,把 3 字节压成 4 个字符。
- 文本转二进制——按字节展开成 8 位二进制,切分逻辑比摩斯更规整。
- 文本转十六进制转换器——两位一组表示一个字节,适合看懂二进制转储。
- URL 编码——把字符转成百分号加十六进制,Web 场景最常用的编码。
- 凯撒密码工具——字母表位移加密,同样只处理拉丁字母,可以与本页叠用。
- HTML 实体编码——把 < > & 等字符转成实体,防止标签被解析。
- ASCII 表格生成器——需要逐字符查码表时的完整参考。