Morsekood on eksisteerinud alates 1800. aastate algusest ja on leidnud tee digitaalajastusse. Alates Teise maailmasõja ajal kriitilise sidemeediumina toimimisest kuni krüpteeritud sõnumite saatmiseni lennunduses ja merenduses – morsekood on siin, et jääda.
Kui te pole sellest põnevast keelest teadlik, valmistuge mitte ainult morsekoodi avastamiseks, vaid ka Pythoni abil omaenda tõlkija loomiseks.
Mis on morsekood?
Morsekood on suhtlusviis, mille käigus kodeeritakse tekstimärgid kahe erineva kestusega signaali standardsesse jada, mida tähistatakse punktide ja kriipsudega. Morsekood on oma nime saanud ühe telegraafi leiutaja Samuel Morse järgi. Saate selle meelde jätta ja edastada helilainete või inimese meeltega tajutava nähtava valguse kaudu.
Morsekoodi ekvivalendi pikkus on pöördvõrdeline meie selle tähestiku kasutamise sagedusega ja näete, et morsekood määrab inglise keeles kõige tavalisema tähe E vaid punktile.
Saate neid kasutada tasuta morsekoodi tarkvara ja rakendused kodeeritud sõnumite saatmiseks üksteisele. Teisest küljest on morsekoodi õppimine üsna lihtne ja saate selle selgeks õppida kuu aja jooksul, kui seda korralikult harjutada. Siin on, et aidata teil alustada üheksa saiti morsekoodi õppimiseks tasuta.
Kuidas Pythoni abil morsekoodi tõlkijat luua
Alustuseks määrake Pythoni sõnaraamat nimega MORSE_CODE_DICT Morse koodi väärtuste salvestamiseks. Klahvid on ingliskeelse tähestiku tähed, mille väärtuseks on vastav punkt- või sidekriips. Sõnastiku abil saate kiiresti otsida mis tahes võtme vastava väärtuse jaoks.
MORSE_CODE_DICT = { "A":'.-', "B":'-...',
'C':'-.-.', "D":'-..', 'E':'.',
"F":'..-.', "G":'--.', "H":'...',
"mina":'..', "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':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }
Deklareerige funktsioon nimega krüptimine, mis aktsepteerib sõnum sisendparameetrina. Initsialiseerige funktsiooni sees muutuja nimega šifr tühja stringiga. Kasutate seda krüptitud sõnumi loomiseks ja salvestamiseks. Järgmisena deklareerige for-silmus, mis kordab sõnumis iga tähe kohal.
Kui täht ei ole tühik, edastage see otsimiseks sõnastikku. Sõnastik tagastab võtme alusel vastava More koodi väärtuse. Lisage morsekoodi märkide eraldamiseks tühik ja kasutage stenogrammi += operaator, et ühendada see sõnastikust saadud koodiga. Kui täht on tühik, lisage šifrile lisatühik; Morsekood eraldab sõnad kahe järjestikuse tühikuga.
defkrüpteerida(sõnum):
šifr = ""
kirja jaoks sõnumis:
kui kiri != " ":
šifr += MORSE_CODE_DICT[täht] + " "
muidu:
šifr += " "
tagasi šifr
Dekrüpteerige funktsioon nimega decrypt, mis aktsepteerib sõnum sisendparameetrina. Lisage lõppu tühik, kasutades stenogrammi, et pääseda juurde morsekoodi viimasele tähemärgile. Initsialiseerige kaks muutujat, dešifreerige ja tsitekst tühjade nööride hoidmiseks. Dešifreeritud muutuja säilitab ingliskeelsest tähestikust koosneva dekrüpteeritud lause, samal ajal kui kasutate tsiteksti iga morsekoodi tähe salvestamiseks.
Korrake for-tsüklit, mis läbib iga morsekoodi tähte. Kui täht ei ole tühik, lähtestage loenduri muutuja i, mis jälgib tühikute arvu nullini ja salvestab tsiteksti ühe märgi morsekoodi. Vastasel juhul on täht tühik, nii et suurendage loendurit ühe võrra.
Kui loendur võrdub kahega, tähendab see, et peate dekrüpteeritud sõnamuutuja dešifreerimisse lisama tühiku. Muul juhul pääsete võtmetele juurde nende väärtusi kasutades. Selleks korrake sõnastiku võtme-väärtuste paare, kasutades üksuste funktsiooni. Kui tsitekst võrdub väärtusega, lisage dešifreerimismuutujale vastav võti, kasutades stenogrammi.
Lõpuks tühjendage järgmise tähe saamiseks tsitekst ja tagastage saadud dekrüpteeritud lause funktsioonikutsele.
defdekrüpteerida(sõnum):
sõnum += " "
dešifreerida = ""
tsitekst = ""kirja jaoks sõnumis:
kui kiri != " ":
i = 0
tsitekst += täht
muidu:
i += 1kui i == 2:
dešifreerida += " "
muidu:
jaoksvõti, väärtussisseMORSE_CODE_DICT.esemed():
kui tsitekst == väärtus:
dešifreerida võti +=tsitekst = ""
tagasi dešifreerida
Testige funktsioone mõne näidissisendiga. Alustuseks initsialiseerige muutuja nimega sõnum koos sõna või lausega, mida soovite krüpteerida. Kasuta ülemine funktsioon, et teisendada kõik tähed suurtähtedeks ja edastada see argumendina krüptimisfunktsioonile. Morsekood sisaldab ainult suuri tähti, mis on sõnaraamatu võtmed. See aitab vältida ka tarbetut käitusaja kontrolli kehtivate juhtumite jaoks.
Printige saadud väärtus, et vaadata algse lause morsekoodi ekvivalenti.
Seejärel salvestage sõnumimuutujas morsekood ja edastage see dekrüpteerimisfunktsioonile. Printige tulemus ja kontrollige, kas see on õige.
Selle asemel, et sisendit kõvasti kodeerida, saate selle kasutajalt vastu võtta nupuga sisend() funktsiooni.
sõnum = "Kasutage ära"
tulemus = krüpti (message.upper())
printida(tulemus)
sõnum = "-- .- -.-. ..-.... ..-."
tulemus = dekrüpteerima (sõnum)
printida(tulemus)
Morse koodi tõlkija väljund Pythonis
Pythoni programm tõlgib ingliskeelse tähestiku iga tähe selle morsekoodi ekvivalendiks ja kuvab selle terminali väljundekraanil, nagu näidatud. Kui kopeerite saadud väljundi ja edastate selle dekrüpteerimiseks, saate originaalteksti, mille olete varem edastanud. See kinnitab, et tõlge toimis ideaalselt.
Morsekoodi mobiilirakendused
Morsekoodi tõlkijad on teie käeulatuses tasuta saadaval. Erinevatel platvormidel on saadaval rohkem kui sadu rakendusi, nagu Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard ja Morse Code Translator. Teie üllatuseks toetab seda isegi GBoard – Google'i klaviatuur.
Morsekoodile juurdepääsu saamiseks oma Gboardil avage Gboardil ikoon Seaded, valige Keeled ja puudutage inglise keelt (USA). Pühkige valikute vahel paremale ja seejärel valige Morsekood. Teie klaviatuur toetab nüüd morsekoodi sisestamist koos hõlbustusteenustega, nagu TalkBack, lülitiga juurdepääs või Vali ja kõne.