当前位置:首页 > 教育 >

摩斯密码怎么解成中文(摩斯密码可以直接转汉字吗)

来源:原点资讯(www.yd166.com)时间:2023-04-22 04:07:21作者:YD166手机阅读>>

摩斯密码怎么解成中文,摩斯密码可以直接转汉字吗(1)

莫尔斯电码是一种将文本信息作为一系列开,关的音调,灯光或咔嗒声进行传输的方法,熟练的听众或观察者无需特殊设备即可直接理解。它以电报的发明者塞缪尔·B·莫尔斯(Samuel F. B. Morse)的名字命名。

算法

算法非常简单。英语中的每个字符都由一系列的“点”和“破折号”代替,有时只是单数的“点”或“破折号”,反之亦然。

有关详细信息,请参阅此Wikipedia图片(https://en.wikipedia.org/wiki/Morse_code#/media/File:International_Morse_Code.svg)。

加密

1)在加密的情况下,我们一次从一个单词中提取每个字符(如果不是空格),并将其与存储在我们选择的任何数据结构中的相应莫尔斯码相匹配(如果您使用python编码,字典在这种情况下会非常有用)。

2)将莫尔斯电码存储在一个变量中,该变量将包含我们的编码字符串,然后在该字符串中添加一个空格,其中将包含结果。

3)在莫尔斯电码编码时,我们需要在每个字符之间加1个空格,在每个单词之间加2个连续空格。

4)如果字符是空格,则将另一个空格添加到包含结果的变量中。我们重复这个过程直到遍历整个字符串。

解密

1)在解密的情况下,我们首先在要解码的字符串的末尾添加一个空格(稍后将对此进行解释)。

2)现在,我们继续从字符串中提取字符,直到没有任何空格为止。

3)一旦获得空格,我们就会在提取的字符序列(或摩尔斯电码)中查找相应的英语字符,并将其添加到将存储结果的变量中。

4)请记住,跟踪空格是此解密过程中最重要的部分。一旦获得2个连续的空格,我们将在包含解码字符串的变量中添加另一个空格。

5)字符串末尾的最后一个空格将帮助我们识别莫尔斯电码字符的最后一个序列(因为空格可作为提取字符并开始对其进行解码的检查)。

实现

Python提供了一种称为字典的数据结构,该结构以键值对的形式存储信息,这对于实现密码(例如莫尔斯电码)非常方便。我们可以将莫尔斯电码表保存在字典中,其中(键值对)=>(英文字符-摩尔斯电码)。明文(英文字符)代替密钥,密文(摩尔斯码)形成相应密钥的值。可以从字典中访问键的值,就像我们通过它们的索引访问数组的值一样,反之亦然。

# Python program to implement Morse Code Translator ''' VARIABLE KEY 'cipher' -> 'stores the morse translated form of the english string' 'decipher' -> 'stores the english translated form of the morse string' 'citext' -> 'stores morse code of a single character' 'i' -> 'keeps count of the spaces between morse characters' 'message' -> 'stores the string to be encoded or decoded' ''' # Dictionary representing the morse code chart MORSE_CODE_DICT = { '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':'--..', '1':'.----', '2':'..---', '3':'...--', '4':'....-', '5':'.....', '6':'-....', '7':'--...', '8':'---..', '9':'----.', '0':'-----', ', ':'--..--', '.':'.-.-.-', '?':'..--..', '/':'-..-.', '-':'-....-', '(':'-.--.', ')':'-.--.-'} # Function to encrypt the string # according to the morse code chart def encrypt(message): cipher = '' for letter in message: if letter != ' ': # Looks up the dictionary and adds the # correspponding morse code # along with a space to separate # morse codes for different characters cipher = MORSE_CODE_DICT[letter] ' ' else: # 1 space indicates different characters # and 2 indicates different words cipher = ' ' return cipher # Function to decrypt the string # from morse to english def decrypt(message): # extra space added at the end to access the # last morse code message = ' ' decipher = '' citext = '' for letter in message: # checks for space if (letter != ' '): # counter to keep track of space i = 0 # storing morse code of a single character citext = letter # in case of space else: # if i = 1 that indicates a new character i = 1 # if i = 2 that indicates a new word if i == 2 : # adding space to separate words decipher = ' ' else: # accessing the keys using their values (reverse of encryption) decipher = list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT .values()).index(citext)] citext = '' return decipher # Hard-coded driver function to run the program def main(): message = "GEEKS-FOR-GEEKS" result = encrypt(message.upper()) print (result) message = "--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... " result = decrypt(message) print (result) # Executes the main function if __name__ == '__main__': main()

输出:

--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... GEEKS-FOR-GEEKS

栏目热文

中文电码对照表大全(中文电码转换表大全)

中文电码对照表大全(中文电码转换表大全)

crimaster犯罪大师梨园戏梦答案解析过程都为大家梳理好了,每一步的详细步骤都有,大家可以轻松的了解到每一道题目的解...

2023-04-22 03:48:43查看全文 >>

摩斯电码翻译器在线(摩斯电码生成器下载)

摩斯电码翻译器在线(摩斯电码生成器下载)

记仇表情生成器:bangbang93.lab()表情包生成器:https://www.52doutu.cn呆萌兔生成器:...

2023-04-22 04:07:49查看全文 >>

摩斯密码中文对照表 图片(摩斯密码口诀表)

摩斯密码中文对照表 图片(摩斯密码口诀表)

Morse Code破译“摩斯密码”,防灾密报请签收滴答 滴滴答滴 答......呼叫方特工!前方收到一封防灾密报急需小...

2023-04-22 04:22:40查看全文 >>

中文摩斯密码翻译器(摩斯密码转换器在线翻译)

中文摩斯密码翻译器(摩斯密码转换器在线翻译)

这个网站可以把文字转化成摩斯密码,有需要可以拿去表白了。\-.... -... -.... -....\-.... -....

2023-04-22 03:55:20查看全文 >>

摩斯密码中文对照表(摩尔斯电码怎么打中文)

摩斯密码中文对照表(摩尔斯电码怎么打中文)

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字...

2023-04-22 04:03:45查看全文 >>

摩斯密码汉语对照表(苏州码子1到100对照表)

摩斯密码汉语对照表(苏州码子1到100对照表)

数字码长码及短码码表:(混合码通信是只能用长码)Bencher经典双桨自动电建背码表如何读码:0:嗒嗒嗒嗒嗒1...

2023-04-22 04:06:19查看全文 >>

中文摩尔斯密码表(摩斯密码短句100句)

中文摩尔斯密码表(摩斯密码短句100句)

文/ 夕扬为庆祝人民海军成立70周年,瓢虫一号卫星在太原上空用肉眼可见的聚光灯阵闪烁发送了一串摩斯密码。(来源:苏少杰摄...

2023-04-22 03:58:16查看全文 >>

摩斯密码翻译器(摩斯电码翻译器在线翻译)

摩斯密码翻译器(摩斯电码翻译器在线翻译)

你们也知道小雷我上班摸鱼已成习惯,刷个朋友圈、刷个微博、找朋友吹个水那都是基操了。今天跟朋友吹水的时候发生了一件令人懵逼...

2023-04-22 04:08:25查看全文 >>

摩斯密码中文对照表怎么用(如何记摩斯密码字母对照表)

摩斯密码中文对照表怎么用(如何记摩斯密码字母对照表)

阅读之前,大家请先看一行符号,看看大家能不能猜出这段符号所代表的含义:“--. --- --- -.. .--- ---...

2023-04-22 03:52:34查看全文 >>

中文转换成摩斯密码(摩斯密码数字怎么转换汉字)

中文转换成摩斯密码(摩斯密码数字怎么转换汉字)

摩尔斯电码(英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号...

2023-04-22 03:57:04查看全文 >>

文档排行