Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Codul Morse există de la începutul anilor 1800 și și-a găsit drumul către era digitală. De la a servi ca mijloc critic de comunicare în timpul celui de-al Doilea Război Mondial până la trimiterea de mesaje criptate în aviație și marină, codul Morse este aici pentru a rămâne.

Dacă nu cunoști acest limbaj fascinant, pregătește-te nu numai să descoperi codul Morse, ci și să construiești propriul tău traducător folosind Python.

Ce este codul Morse?

Codul Morse este o metodă de comunicare prin care codificați caracterele text într-o secvență standard de două semnale de durată diferită, notate prin puncte și liniuțe. Codul Morse își trage numele de la Samuel Morse, unul dintre inventatorii telegrafului. Îl poți memora și transmite prin unde sonore sau lumină vizibilă perceptibilă de simțurile umane.

Lungimea echivalentului codului Morse este inversă frecvenței noastre de utilizare a acelui alfabet și puteți vedea că codul Morse atribuie cea mai comună literă din limba engleză, E, doar unui punct.

Puteți folosi acestea software și aplicații gratuite pentru codul Morse pentru a trimite mesaje codificate unul celuilalt. Pe de altă parte, învățarea codului Morse este destul de simplă și îl puteți învăța în decurs de o lună cu o cantitate suficientă de practică. Pentru a vă ajuta să începeți, iată nouă site-uri pentru a învăța codul Morse gratuit.

Cum să construiți un traducător de cod Morse folosind Python

Începeți prin a defini un dicționar Python numit MORSE_CODE_DICT pentru a stoca valorile codului Morse. Cheile vor fi litere ale alfabetului englez, cu secvența de puncte sau liniuțe corespunzătoare ca valoare corespunzătoare. Folosind un dicționar, puteți căuta rapid orice cheie pentru valoarea ei corespunzătoare.

MORSE_CODE_DICT = { 'A':'.-', „B”:'-...',
„C”:'-.-.', 'D':'-..', „E”:'.',
'F':'..-.', „G”:'--.', 'H':'...',
"eu":'..', „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':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

Declarați o funcție numită criptare care acceptă mesaj ca parametru de intrare. În interiorul funcției, inițializați o variabilă numită cifru cu un şir gol. Veți folosi acest lucru pentru a crea și stoca mesajul criptat. Apoi, declarați o buclă for care iterează peste fiecare literă din mesaj.

Dacă litera nu este spațiu alb, treceți-o în dicționar pentru căutare. Dicționarul returnează valoarea corespunzătoare a codului Mai mult pe baza cheii. Adăugați un spațiu pentru a separa caracterele codului Morse și utilizați prescurtarea += operator pentru a-l concatena cu codul obținut din dicționar. Dacă litera este un spațiu alb, adăugați un spațiu suplimentar la cifra; Codul Morse separă cuvintele cu două spații consecutive.

defcripta(mesaj):
cifr = ""
pentru scrisoarea in mesaj:
dacă litera != " ":
cifr += MORSE_CODE_DICT[litera] + " "
altfel:
cifr += " "
întoarcere cifru

Declarați o funcție numită decriptare care acceptă mesaj ca parametru de intrare. Adăugați un spațiu la sfârșit, folosind operatorul scurt pentru a accesa ultimul caracter al codului Morse. Inițializați două variabile, descifrați și citext pentru a ține șiruri goale. Variabila de descifrare va reține propoziția decriptată constând din alfabetul englez în timp ce utilizați citext pentru a stoca fiecare literă a codului Morse.

Repetați o buclă for care trece prin fiecare literă a codului Morse. Dacă litera nu este spațiu alb, inițializați o variabilă de contor i care ține evidența numărului de spații până la zero și stocați codul Morse al unui singur caracter în citext. În caz contrar, litera este un spațiu, așa că creșteți contorul cu unul.

Dacă contorul este egal cu doi, înseamnă că trebuie să adăugați spațiu alb la descifrarea variabilei cuvântului decriptat. În caz contrar, accesați cheile folosind valorile acestora. Pentru a face acest lucru, repetați perechile cheie-valoare din dicționar folosind funcția itemi. Dacă citextul este egal cu valoarea, adăugați cheia corespunzătoare variabilei de descifrare folosind operatorul de scurtătură.

În cele din urmă, ștergeți citextul pentru a obține următoarea literă și returnați propoziția decriptată obținută la apelul funcției.

defdecriptează(mesaj):
mesaj += " "
descifra = ""
citext = ""

pentru scrisoarea in mesaj:
dacă litera != " ":
i = 0
citext += literă
altfel:
i += 1

dacă i == 2:
descifra += " "
altfel:
pentrucheie, valoareînMORSE_CODE_DICT.articole():
if citext == valoare:
descifrare += cheie

citext = ""

întoarcere descifra

Testați funcțiile cu o intrare de probă. Începeți prin a inițializa o variabilă numită mesaj cu cuvântul sau propoziția pe care doriți să o criptați. Folosește superior funcția de a converti toate literele în majuscule și de a le trece la funcția de criptare ca argument. Codul Morse conține doar litere mari, care sunt cheile din dicționar. Acest lucru ajută, de asemenea, la evitarea verificărilor inutile de rulare pentru cazuri valide.

Tipăriți valoarea rezultată pentru a vedea echivalentul codului Morse al propoziției originale.

Apoi, stocați un cod Morse în variabila mesaj și transmiteți-l funcției de decriptare. Imprimați rezultatul și verificați dacă este corect.

În loc să codificați intrarea, o puteți accepta de la utilizator cu ajutorul intrare() funcţie.

mesaj = "A se folosi de"
rezultat = criptare (message.upper())
imprimare(rezultat)

mesaj = "-- .- -.-. ..-.... ..-."
rezultat = decriptare (mesaj)
imprimare(rezultat)

Ieșirea traductorului de cod Morse în Python

Programul Python traduce fiecare literă a alfabetului englez în echivalentul său cod Morse și o afișează pe ecranul de ieșire a terminalului, așa cum se arată. Dacă copiați rezultatul obținut și îl treceți pentru decriptare, veți primi textul original pe care l-ați transmis mai devreme. Acest lucru verifică dacă traducerea a funcționat perfect.

Aplicații mobile pentru codul Morse

Traducătorii de cod Morse sunt disponibile gratuit chiar la îndemâna dumneavoastră. Mai mult de sute de aplicații precum Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard și Morse Code Translator sunt disponibile pe diferite platforme. Spre surprinderea ta, este susținut chiar și de GBoard - tastatura Google.

Pentru a accesa codul Morse pe Gboard, deschideți pictograma Setări de pe Gboard, selectați Limbi și atingeți engleză (S.U.A.). Glisați spre dreapta prin opțiuni, apoi alegeți Cod Morse. Tastatura dvs. acceptă acum inserarea codului Morse împreună cu servicii de accesibilitate, cum ar fi TalkBack, Switch Access sau Select to Speak.