最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

11行Python代碼實(shí)現(xiàn)解密摩斯密碼

 更新時(shí)間:2022年04月18日 14:30:35   作者:Carl_奕然  
摩爾斯電碼是一種時(shí)通時(shí)斷的信號代碼,通過不同的排列順序來表達(dá)不同的英文字母、數(shù)字和標(biāo)點(diǎn)符號。本文將通過Python代碼來實(shí)現(xiàn)解密摩斯密碼,感興趣的可以學(xué)習(xí)一下

1、引言

小屌絲:魚哥,快來求助求助!

小魚:嗯? 啥事,讓你這么慌慌張張的?

小屌絲:剛剛我女神給我發(fā)古來這一段符號,我不知道啥意思,能不能幫我翻譯一下?

小魚:啥符號?

小屌絲:這個(gè)"… …-- --… —… …— … …-- —… —… -----"

小魚:這… 這不是摩斯密碼嗎,你女神啥時(shí)候這么厲害了?

小屌絲:魚哥,別管那么多了,快看看能不能翻譯出啥意思,萬一是我的女神要找我壓馬路呢?

小魚:話說,我也不是名偵探… 這,有點(diǎn)難為我了。

小屌絲:啥條件都行,只要你能翻譯出來。

小魚:嗯~ 那我試試。

2、代碼示例

2.1摩爾斯電碼科普

在進(jìn)行密碼破解前,小魚先來科普一下摩爾斯電碼的姿勢 知識。

1、起源:

摩爾斯電碼( 又譯為摩斯密碼,英語:Morse code)是一種時(shí)通時(shí)斷的信號代碼,通過不同的排列順序來表達(dá)不同的英文字母、數(shù)字和標(biāo)點(diǎn)符號。是由美國人艾爾菲德·維爾與薩繆爾·摩爾斯在1836年發(fā)明。

2、組成

摩爾斯電碼是一種早期的數(shù)碼化通信形式,它依靠一系列的點(diǎn)和劃來傳遞編碼信息,它的代碼包括五種:

  • 點(diǎn)( · ):1 (讀 “滴” dit ,時(shí)間占據(jù)1t )
  • 劃(—):111 (讀 “嗒” dah ,時(shí)間占據(jù)3t )
  • 字符內(nèi)部的停頓(在點(diǎn)和劃之間):0 (時(shí)間占據(jù)1t )
  • 字符間停頓:000 ( 時(shí)間占據(jù)3t )
  • 單詞間的停頓:0000000 ( 時(shí)間占據(jù)7t )

點(diǎn)的長度(也就是上面的時(shí)間長度t)決定了發(fā)報(bào)的速度。

3、對照表

接下來,我們就進(jìn)入今天的最重要的環(huán)境,摩斯密碼的加密與解密。

2.2 加密

一、思路

實(shí)現(xiàn)的步驟總共分三步:

第一步:把冰箱門打開

搞錯(cuò)了,重來

第一步:把對照表內(nèi)容放到字典里;

第二步:加密時(shí)將明文拆分;

第三步:從字典取出對應(yīng)的密碼組合在一起;

二、代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2024-04-12
# @Author : carl_DJ

#對照表內(nèi)容放入字典中
Dict_MorseCode = {
                   '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': '-----',
                   ', ': '--..--', '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-',
                   '(': '-.--.', ')': '-.--.-'
                   }
#加密
def encrypt(message):
    cipher = ''
    for code in message:
        if code != ' ':
            # 查字典并添加對應(yīng)的摩斯密碼
            # 用空格分隔不同字符的摩斯密碼
            cipher += Dict_MorseCode[code] + ' '
        else:
            # 1個(gè)空格表示不同的字符
            # 2表示不同的詞
            cipher += ' '
    return cipher


message = "53782 53880"
result = encrypt(message)
print(f'加密后的摩斯密碼:{result}')

三、輸出結(jié)果:

加密后的摩斯密碼:..... ...-- --... ---.. ..---  ..... ...-- ---.. ---.. ----- 

2.3 解密

一、思路

思路與加密一樣的,都是分三步:

第一步:把對照表內(nèi)容放到字典里;

第二步:解密時(shí)通過密文去對照表找對應(yīng)的明文;

第三步:拼接起來;

二、代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2024-04-12
# @Author : carl_DJ

#對照表內(nèi)容放入字典中
Dict_MorseCode = {
                   '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': '-----',
                   ', ': '--..--', '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-',
                   '(': '-.--.', ')': '-.--.-'
                   }
#解密,就是將字符串從摩斯解密為英文的函數(shù)
def decrypt(message):
    # 在末尾添加額外空間以訪問最后一個(gè)摩斯密碼
    message += ' '
    decipher = ''
    citext = ''
    global i
    for code in message:
        # 檢查空間
        if code != ' ':
            i = 0
            # 在空格的情況下
            citext += code
        # 在空間的情況下
        else:
            # 如果 i = 1 表示一個(gè)新字符
            i += 1
            # 如果 i = 2 表示一個(gè)新單詞
            if i == 2:
                # 添加空格來分隔單詞
                decipher += ' '
            else:
                # 使用它們的值訪問密鑰(加密的反向)
                decipher += list(Dict_MorseCode .keys())[list(Dict_MorseCode .values()).index(citext)]
                citext = ''
    return decipher

message = "..... ...-- --... ---.. ..---  ..... ...-- ---.. ---.. -----"
result = decrypt(message)
print(f'解密后的明文:{result}')

三、輸出結(jié)果:

解密后的明文:53782 53880

小魚:我擦~~ 小屌絲,你這可以啊。

小屌絲:啥情況,這不是一串?dāng)?shù)字,我也不懂啊

小魚:你這是鋼鐵直男吧,這么明顯的,你還不懂??

小屌絲:魚哥,別繞彎子了,趕緊告訴我吧,是不是女神想我給她買好吃的了?

小魚:唉~ ~ 真不明白,這么漂亮的妹子,想啥不行,非得想你…

小屌絲:此話當(dāng)真,那我趕緊去哦。

小魚:哎~ 你咋溜得這么快,我還沒說完呢。

3、總結(jié)

看到這里,今天的分享就到這里了。

是不是覺得,摩斯密碼也沒有那么難嘛。

就是幾行代碼的事,太easy了。

以后追女神,是不是又有新套路了…

到此這篇關(guān)于11行Python代碼實(shí)現(xiàn)解密摩斯密碼的文章就介紹到這了,更多相關(guān)Python解密摩斯密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用pickle模塊儲存對象操作示例

    Python使用pickle模塊儲存對象操作示例

    這篇文章主要介紹了Python使用pickle模塊儲存對象操作,結(jié)合實(shí)例形式分析了Python使用pickle模塊針對文件讀寫與轉(zhuǎn)換的相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Python閉包的兩個(gè)注意事項(xiàng)(推薦)

    Python閉包的兩個(gè)注意事項(xiàng)(推薦)

    閉包就是根據(jù)不同的配置信息得到不同的結(jié)果。下面通過本文給大家分享Python閉包的兩個(gè)注意事項(xiàng),需要的朋友參考下
    2017-03-03
  • TorchVision Transforms API目標(biāo)檢測實(shí)例語義分割視頻類

    TorchVision Transforms API目標(biāo)檢測實(shí)例語義分割視頻類

    這篇文章主要為大家介紹了TorchVision Transforms API大升級,支持目標(biāo)檢測、實(shí)例/語義分割及視頻類任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • pycharm調(diào)試時(shí)顯示圖片問題的解決

    pycharm調(diào)試時(shí)顯示圖片問題的解決

    這篇文章主要介紹了pycharm調(diào)試時(shí)顯示圖片問題的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解Python中的正則表達(dá)式的用法

    詳解Python中的正則表達(dá)式的用法

    這篇文章主要介紹了詳解Python中的正則表達(dá)式的用法,正則表達(dá)式在各個(gè)編程語言的學(xué)習(xí)當(dāng)中都是基礎(chǔ)知識,文中給出了Python2代碼的示例,需要的朋友可以參考下
    2015-04-04
  • python實(shí)現(xiàn)手機(jī)號歸屬地查詢功能

    python實(shí)現(xiàn)手機(jī)號歸屬地查詢功能

    手機(jī)上突然收到了某銀行的短信提示,看了一下手機(jī)的位數(shù),正好是11位,我一想,這不就是標(biāo)準(zhǔn)的手機(jī)號碼嗎?于是想用python的庫實(shí)現(xiàn)查詢手機(jī)號碼歸屬地查詢自由,所以本文給大家介紹了如何用python實(shí)現(xiàn)手機(jī)號歸屬地查詢功能,需要的朋友可以參考下
    2024-03-03
  • 一文詳解Python中哈希表的使用

    一文詳解Python中哈希表的使用

    哈希表或稱為散列表,是一種常見的、使用頻率非常高的數(shù)據(jù)存儲方案。本文將站在開發(fā)者的角度,帶著大家一起探究哈希的世界,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • python圖片驗(yàn)證碼識別最新模塊muggle_ocr的示例代碼

    python圖片驗(yàn)證碼識別最新模塊muggle_ocr的示例代碼

    這篇文章主要介紹了python圖片驗(yàn)證碼識別最新模塊muggle_ocr的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python實(shí)例解析圖像形態(tài)學(xué)運(yùn)算技術(shù)

    Python實(shí)例解析圖像形態(tài)學(xué)運(yùn)算技術(shù)

    形態(tài)學(xué)處理方法是基于對二進(jìn)制圖像進(jìn)行處理的,卷積核決定圖像處理后的效果。本文將為大家詳細(xì)介紹一下OpenCV中的圖像形態(tài)學(xué),感興趣的可以了解一下
    2022-03-03
  • Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法示例

    Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法示例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表的定義與使用方法,結(jié)合實(shí)例形式分析了Python雙向鏈表的概念、原理、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-01-01

最新評論

白银市| 辛集市| 宝丰县| 蓬溪县| 手机| 庆城县| 高台县| 蓬溪县| 芜湖市| 辽宁省| 揭东县| 遂昌县| 霍城县| 昌乐县| 连州市| 阿勒泰市| 沙雅县| 当涂县| 呼图壁县| 得荣县| 南充市| 丰顺县| 建昌县| 海口市| 贡山| 西峡县| 宾川县| 临潭县| 方城县| 常州市| 晋中市| 偃师市| 大丰市| 凌源市| 苍溪县| 定远县| 喀喇沁旗| 林甸县| 中江县| 章丘市| 磐安县|