Der Morsecode existiert seit den frühen 1800er Jahren und hat seinen Weg in das digitale Zeitalter gefunden. Von der Verwendung als wichtiges Kommunikationsmedium während des Zweiten Weltkriegs bis hin zum Senden verschlüsselter Nachrichten in der Luft- und Schifffahrt ist der Morsecode hier, um zu bleiben.
Wenn Sie diese faszinierende Sprache nicht kennen, machen Sie sich bereit, nicht nur den Morsecode zu entdecken, sondern auch Ihren eigenen Übersetzer mit Python zu erstellen.
Was ist Morsecode?
Morsecode ist eine Kommunikationsmethode, bei der Sie Textzeichen in eine Standardfolge von zwei Signalen unterschiedlicher Dauer codieren, die durch Punkte und Striche gekennzeichnet sind. Der Morsecode hat seinen Namen von Samuel Morse, einem der Erfinder des Telegrafen. Sie können es sich merken und über Schallwellen oder sichtbares Licht übertragen, das von den menschlichen Sinnen wahrnehmbar ist.
Die Länge des Morsecode-Äquivalents ist umgekehrt zu unserer Häufigkeit der Verwendung dieses Alphabets, und Sie können sehen, dass der Morsecode den häufigsten Buchstaben in der englischen Sprache, E, nur einem Punkt zuweist.
Diese können Sie verwenden Kostenlose Morsecode-Software und Apps zum Senden verschlüsselter Nachrichten zueinander. Auf der anderen Seite ist das Erlernen des Morsecodes ziemlich einfach, und Sie können ihn mit ziemlich viel Übung innerhalb eines Monats lernen. Um Ihnen den Einstieg zu erleichtern, finden Sie hier neun Websites zum Erlernen des Morsecodes kostenlos.
So erstellen Sie einen Morsecode-Übersetzer mit Python
Beginnen Sie mit der Definition eines Python-Wörterbuchs mit dem Namen MORSE_CODE_DICT um die Morsecodewerte zu speichern. Die Schlüssel sind Buchstaben des englischen Alphabets mit der entsprechenden Punkt- oder Strichfolge als entsprechendem Wert. Mithilfe eines Wörterbuchs können Sie schnell jeden Schlüssel mit seinem entsprechenden Wert nachschlagen.
MORSE_CODE_DICT = { 'A':'.-', 'B':'-...',
'C':'-.-.', 'D':'-..', 'E':'.',
'F':'..-.', 'G':'--.', 'H':'...',
'ICH':'..', 'J':'.', 'K':'-.-',
'L':'.-..', 'M':'--', 'N':'-.',
'Ö':'', 'P':'.--.', 'Q':'--.-',
'R':'.-.', 'S':'...', 'T':'-',
'U':'..-', 'V':'...-', 'W':'.--',
'X':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }
Deklarieren Sie eine Funktion namens encrypt, die akzeptiert Nachricht als Eingabeparameter. Initialisieren Sie innerhalb der Funktion eine Variable mit dem Namen Chiffre mit einem leeren String. Sie verwenden dies, um die verschlüsselte Nachricht zu erstellen und zu speichern. Deklarieren Sie als Nächstes eine for-Schleife, die jeden Buchstaben in der Nachricht durchläuft.
Wenn der Buchstabe kein Leerzeichen ist, übergeben Sie ihn zur Suche an das Wörterbuch. Das Wörterbuch gibt basierend auf dem Schlüssel den entsprechenden More-Codewert zurück. Fügen Sie ein Leerzeichen hinzu, um die Zeichen des Morsecodes zu trennen, und verwenden Sie die Kurzschrift += Operator, um ihn mit dem aus dem Wörterbuch erhaltenen Code zu verketten. Wenn der Buchstabe ein Leerzeichen ist, fügen Sie der Chiffre ein zusätzliches Leerzeichen hinzu; Morsecode trennt Wörter mit zwei aufeinanderfolgenden Leerzeichen.
defVerschlüsseln(Nachricht):
Chiffre = ""
für Brief in Nachricht:
Wenn Buchstabe != " ":
Chiffre += MORSE_CODE_DICT[Buchstabe] + " "
anders:
Chiffre += " "
zurückkehren Chiffre
Deklarieren Sie eine Funktion namens decrypt, die akzeptiert Nachricht als Eingabeparameter. Fügen Sie am Ende ein Leerzeichen hinzu und verwenden Sie den Kurzschreiboperator, um auf das letzte Zeichen des Morsecodes zuzugreifen. Initialisieren Sie zwei Variablen, dechiffriere und Zitat leere Zeichenfolgen zu halten. Die Entschlüsselungsvariable enthält den entschlüsselten Satz, der aus dem englischen Alphabet besteht, während Sie Citext verwenden, um jeden Buchstaben des Morsecodes zu speichern.
Iterieren Sie eine for-Schleife, die jeden Buchstaben des Morsecodes durchläuft. Wenn der Buchstabe kein Leerzeichen ist, initialisieren Sie eine Zählervariable i, die die Anzahl der Leerzeichen auf Null verfolgt, und speichern Sie den Morsecode eines einzelnen Zeichens im Zitext. Andernfalls ist der Buchstabe ein Leerzeichen, erhöhen Sie also den Zähler um eins.
Wenn der Zähler gleich zwei ist, bedeutet dies, dass Sie der entschlüsselten Wortvariablen decipher Leerzeichen hinzufügen müssen. Greifen Sie andernfalls mit ihren Werten auf die Schlüssel zu. Iterieren Sie dazu mit der Funktion items über die Schlüssel-Wert-Paare im Wörterbuch. Wenn der Zitext dem Wert entspricht, fügen Sie den entsprechenden Schlüssel mithilfe des Kurzschriftoperators zur Entschlüsselungsvariablen hinzu.
Löschen Sie schließlich den Zitext, um den nächsten Buchstaben zu erhalten, und geben Sie den erhaltenen entschlüsselten Satz an den Funktionsaufruf zurück.
defentschlüsseln(Nachricht):
Nachricht += " "
entziffern = ""
Zitat = ""für Brief in Nachricht:
Wenn Buchstabe != " ":
ich = 0
Zitat += Buchstabe
anders:
ich += 1wenn ich == 2:
entziffern += " "
anders:
fürTaste, WertInMORSE_CODE_DICT.Artikel():
if Zitext == Wert:
+= Schlüssel entschlüsselnZitat = ""
zurückkehren entziffern
Testen Sie die Funktionen mit einigen Beispieleingaben. Beginnen Sie mit der Initialisierung einer Variablen mit dem Namen Nachricht mit dem Wort oder Satz, den Sie verschlüsseln möchten. Verwenden Sie die Oberer, höher Funktion, um alle Buchstaben in Großbuchstaben umzuwandeln und als Argument an die encrypt-Funktion zu übergeben. Der Morsecode enthält nur Großbuchstaben, die die Schlüssel im Wörterbuch sind. Dies hilft auch, unnötige Laufzeitprüfungen auf gültige Groß- und Kleinschreibung zu vermeiden.
Drucken Sie den resultierenden Wert, um das Morsecode-Äquivalent des ursprünglichen Satzes anzuzeigen.
Speichern Sie dann einen Morsecode in der Nachrichtenvariable und übergeben Sie ihn an die Entschlüsselungsfunktion. Drucken Sie das Ergebnis aus und prüfen Sie, ob es korrekt ist.
Anstatt die Eingabe fest zu codieren, können Sie sie vom Benutzer mit akzeptieren Eingang() Funktion.
Nachricht = "Gebrauch machen von"
result = verschlüsseln (message.upper())
drucken(Ergebnis)
Nachricht = "-- .- -.-. ..-.... ..-."
Ergebnis = entschlüsseln (Nachricht)
drucken(Ergebnis)
Ausgabe des Morsecode-Übersetzers in Python
Das Python-Programm übersetzt jeden Buchstaben des englischen Alphabets in sein Morsecode-Äquivalent und zeigt es wie gezeigt auf dem Terminal-Ausgabebildschirm an. Wenn Sie die erhaltene Ausgabe kopieren und zur Entschlüsselung weitergeben, erhalten Sie den ursprünglichen Text, den Sie zuvor übergeben haben. Dies bestätigt, dass die Übersetzung einwandfrei funktioniert hat.
Mobile Anwendungen für Morsecode
Morsecode-Übersetzer stehen Ihnen kostenlos zur Verfügung. Mehr als Hunderte von Anwendungen wie Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard und Morse Code Translator sind auf verschiedenen Plattformen verfügbar. Zu Ihrer Überraschung wird es sogar von GBoard - der Google-Tastatur - unterstützt.
Um auf den Morsecode auf Ihrem Gboard zuzugreifen, öffnen Sie das Symbol „Einstellungen“ auf dem Gboard, wählen Sie „Sprachen“ und tippen Sie auf „Englisch (USA)“. Wischen Sie nach rechts durch die Optionen und wählen Sie dann Morsecode. Ihre Tastatur unterstützt jetzt das Einfügen von Morsecodes zusammen mit Bedienungshilfen wie TalkBack, Switch Access oder Select to Speak.