中文的摩尔斯密码对照表见本文图。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,读“滴”(Di)保持一定时间的长信号“—”,读“嗒”(Da)表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。
1909年8月,美国轮船“阿拉普豪伊”号由于尾轴破裂,无法航行,就向邻近海岸和过往船只拍发了“SOS”信号。这是第一次使用这个信号。
1912年,著名的泰坦尼克号游轮首航遇险时,发送的是CQD(英国马可尼无线电公司决定用CQD作为船舶遇难信号),但因D(—··)易于其他字母混淆,周围船只并未意识到是求救信号,没有快速救援,在快沉没时才使用的新求救信号SOS(···———···)发报。泰坦尼克号沉没后,SOS才被广泛接受和使用。
扩展资料:
摩尔斯密码需要发送时可以由电报公司根据要发的信的长度收费。商业代码精心设计了五个字符组成一组的代码,作为一个单词发送。比如:BYOXO ("Are you trying to crawl out of it?");LIOUY ("Why do you not answer my question?");AYYLU ("Not clearly coded, repeat more clearly.")。
这些五个字符的简语可以用摩尔斯电码单独发送。在网络用辞中,我们也会说一些最常用的摩尔斯商用代码。现在仍然在业余无线电中使用的有Q简语和Z简语:他们最初是为报务员之间交流通信质量、频率变更、电报编号等信息服务的。
1838年1月8日,Alfred Vail展示了一种使用点和划的电报码,这是摩尔斯电码前身。
作为一种信息编码标准,摩尔斯电码拥有其他编码方案无法超越的长久的生命。摩尔斯电码在海事通讯中被作为国际标准一直使用到1999年。1997年,当法国海军停止使用摩尔斯电码时,发送的最后一条消息是:“所有人注意,这是我们在永远沉寂之前最后的一声呐喊”!
参考资料来源:百度百科-摩尔斯密码
参考资料来源:百度百科-塞缪尔·莫尔斯
输入摩斯电码 翻译出 英文,只能识别英文字母, 字母间隔一个空格,单词间隔三个空格 输入摩斯电码
#include "stdio.h"
#include "conio.h"
#include "string.h"
int morseindex(const char *a);
int main(void)
{
int i, j, space;
char *p;
char buffer[1024];
char a[6];
gets(buffer);
p = buffer;
i = 0;
space = 0;
while(1)
{
if (*p == 32 || *p == '\0')
{
a[i] = '\0';
if (strlen(a) != 0)
{
j = morseindex(a);
if (j = 0)
printf("%c", 'a' + j);
}
i = 0;
space++;
if (space == 3)
printf(" ");
}
else
{
a[i++] = *p;
space = 0;
}
if (*p == '\0')
break;
p++;
}
}
int morseindex(const char *a)
{
int i;
static char morsetable[26][5] = {{".-"}, {"-..."}, {"-.-."}, {"-.."}, {"."}, {"..-."}, {"--."}, {"...."}, {".."}, {".---"}, {"-.-"}, {".-.."}, {"--"}, {"-."}, {"---"}, {".--."}, {"--.-"}, {".-."}, {"..."}, {"-"}, {"..-"}, {"...-"}, {".--"}, {"-..-"}, {"-.--"}, {"--.."}};
for (i = 0; i 26; i++)
{
if (strcmp(a, morsetable[i]) == 0)
{
return i;
}
}
return -1;
}
希望别无故关闭问题,还是采纳一下吧.
链接里的那些数字不是莫尔斯电码.而是手机按键坐标.
手机九宫格数字和字母排列,看你手机就明白了:
1( 无)2(ABC)3(DEF)
4(GHI)5(JKL)6(MNO)
……
正如你说的,两个数字转一个字母
第一个数字代表在哪个按键上,第二个数字代表是此按键上第几个字母.
例如52,代表5(JKL)中的第2个,就是K.
摩斯电码翻译需要通过专门的摩斯密码翻译器来进行翻译,也可以借助摩斯密码翻译对照表来进行对照翻译。
1、摩斯密码翻译器:摩斯电码加密的字符只有字符,数字,标点,不区分大小写。本工具对其进行了扩展,使其支持编码、解码中文汉字(原理:将中文字符先转换为Unicode编码再进行摩斯电码转换)。
但是如遇解码失败,请确保长、短、分隔符设置正确。
2、摩斯密码翻译对照表:摩尔斯电码定义了包括:英文字母A-Z(无大小写区分)十进制数字0-9,以及“?”“/”“()”“-”“.”很适合英语的通信。至今仍有很多地方在使用。在业余无线电通信中,他是全世界运用统一的电码。
用摩斯密码表示"我爱你"是:
英文:i love you 翻译成摩尔斯密码就是 .. .-.. --- ...- . -.-- --- ..-。
拼音:wo ai ni 翻译成摩尔斯密码就是 .-- --- .- .. -. ..。
ascii编码:25105 29233 20320 翻译成摩尔斯密码就是 ..--- ..... .---- ----- ..... ..--- ----. ..--- ...-- ...-- ..--- ----- ...-- ..--- -----。
GBK码:ced2 b0ae c4e3 翻译成摩尔斯密码就是 -.-. . -.. ..--- -... ----- .- . -.-. ....- . ...--。
还有一个很重要的摩尔斯电码... --- ... 你一定要记住了,它是求救信号,通过远程表达方式:
求救方式一:发出声响,三段三长三段(... --- ...)莫尔斯电码。
求救方式二:灯光,如手电,三段三长三段(开关灯)。
/*英文转摩尔斯码*/ #includestdio.h #includeiostream using namespace std; int main() { char a[26][6]={{'.','-'},{'-','.','.','.'},{'-','.','-','.'},{'-','.','.'}, {'.'},{'.','.','-','.'},{'-','-','.'},{'.','.','.','.'}, {'.','.'},{'.','-','-','-'},{'-','.','-'},{'.','-','.','.'}, {'-','-'},{'-','.'},{'-','-','-'},{'.','-','-','.'}, {'-','-','.','-'},{'.','-','.'},{'.','.','.'},{'-'}, {'.','.','-'},{'.','.','.','-'},{'.','-','-'},{'-','.','.','-'}, {'-','.','-','-'},{'-','-','.','.'}}; int i,m; char str[100]; char c; gets(str); printf("%s",str); for (i=0;(c=str[i])!='\0';i++) if(c==' ') printf(" "); else printf("%s",a[m=str[i]-97]),printf(" "); printf("\n"); getchar(); return 0; } /*摩尔斯码转英文*/ #includestdio.h #include string.h #include iostream using namespace std; int main() { char a[26][6]={{'.','-'},{'-','.','.','.'},{'-','.','-','.'},{'-','.','.'}, {'.'},{'.','.','-','.'},{'-','-','.'},{'.','.','.','.'}, {'.','.'},{'.','-','-','-'},{'-','.','-'},{'.','-','.','.'}, {'-','-'},{'-','.'},{'-','-','-'},{'.','-','-','.'}, {'-','-','.','-'},{'.','-','.'},{'.','.','.'},{'-'}, {'.','.','-'},{'.','.','.','-'},{'.','-','-'},{'-','.','.','-'}, {'-','.','-','-'},{'-','-','.','.'}}; int b,i,m; char str[100],k; char c,*p,t[6]; gets(str); printf("%s",str); p=str; while(*p!='\0') { i=0; b=0; k=0; while(*p!=' '*p!='\0') { t[i++]=*p; p++; } t[i]='\0'; while(strcmp(a[k++],t)!=0); c=k-1+97; putchar(c); while(*p==' ') { b++;p++;} if(b==3) printf(" "); } getchar(); return 0; }