Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Ο κώδικας Μορς υπάρχει από τις αρχές του 1800 και έχει βρει το δρόμο του στην ψηφιακή εποχή. Από το να χρησιμεύσει ως κρίσιμο μέσο επικοινωνίας κατά τη διάρκεια του Β' Παγκοσμίου Πολέμου μέχρι την αποστολή κρυπτογραφημένων μηνυμάτων στην αεροπορία και στη ναυτιλία, ο κώδικας Μορς είναι εδώ για να μείνει.

Εάν δεν γνωρίζετε αυτή τη συναρπαστική γλώσσα, ετοιμαστείτε όχι μόνο να ανακαλύψετε τον κώδικα Μορς αλλά και να δημιουργήσετε τον δικό σας μεταφραστή χρησιμοποιώντας Python.

Τι είναι ο κώδικας Μορς;

Ο κώδικας Μορς είναι μια μέθοδος επικοινωνίας στην οποία κωδικοποιείτε χαρακτήρες κειμένου σε μια τυπική ακολουθία δύο σημάτων διαφορετικής διάρκειας, που υποδηλώνονται με τελείες και παύλες. Ο κώδικας Morse πήρε το όνομά του από τον Samuel Morse, έναν από τους εφευρέτες του τηλέγραφου. Μπορείτε να το απομνημονεύσετε και να το μεταδώσετε μέσω ηχητικών κυμάτων ή ορατού φωτός που γίνεται αντιληπτό από τις ανθρώπινες αισθήσεις.

instagram viewer

Το μήκος του ισοδύναμου κωδικού Μορς είναι αντίστροφο με τη συχνότητα χρήσης αυτού του αλφαβήτου και μπορείτε να δείτε ότι ο κώδικας Μορς αντιστοιχίζει το πιο κοινό γράμμα στην αγγλική γλώσσα, Ε, σε μια μόνο κουκκίδα.

Μπορείτε να χρησιμοποιήσετε αυτά δωρεάν λογισμικό κώδικα Μορς και εφαρμογές για την αποστολή κωδικοποιημένων μηνυμάτων ο ένας στον άλλον. Από την άλλη πλευρά, η εκμάθηση του κώδικα Μορς είναι αρκετά απλή και μπορείτε να τον μάθετε μέσα σε ένα μήνα με αρκετή εξάσκηση. Για να σας βοηθήσουμε να ξεκινήσετε, εδώ είναι εννέα τοποθεσίες για να μάθετε τον κώδικα Μορς δωρεάν.

Πώς να δημιουργήσετε μεταφραστή κώδικα Morse χρησιμοποιώντας Python

Ξεκινήστε ορίζοντας ένα λεξικό Python με όνομα MORSE_CODE_DICT για να αποθηκεύσετε τις τιμές του κώδικα Μορς. Τα πλήκτρα θα είναι γράμματα του αγγλικού αλφαβήτου, με την κατάλληλη κουκκίδα ή παύλα ως την αντίστοιχη τιμή. Χρησιμοποιώντας ένα λεξικό, μπορείτε να αναζητήσετε γρήγορα οποιοδήποτε κλειδί στην αντίστοιχη τιμή του.

MORSE_CODE_DICT = { 'ΕΝΑ':'.-', 'ΣΙ':'-...',
'ΝΤΟ':'-.-.', 'ΡΕ':'-..', 'ΜΙ':'.',
'ΦΑ':'..-.', 'ΣΟΛ':'--.', 'Η':'...',
'ΕΓΩ':'..', 'J':'.', 'Κ':'-.-',
'ΜΕΓΑΛΟ':'.-..', 'Μ':'--', 'Ν':'-.',
'Ο':'', 'Π':'.--.', 'Q':'--.-',
'R':'.-.', 'ΜΙΚΡΟ':'...', 'Τ':'-',
"Εσυ":'..-', 'V':'...-', 'W':'.--',
'Χ':'-..-', 'Ε':'-.--', 'Ζ':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

Δηλώστε μια συνάρτηση με το όνομα encrypt που δέχεται μήνυμα ως παράμετρος εισόδου. Μέσα στη συνάρτηση, αρχικοποιήστε μια μεταβλητή με όνομα κρυπτογράφημα με μια κενή συμβολοσειρά. Θα το χρησιμοποιήσετε για να δημιουργήσετε και να αποθηκεύσετε το κρυπτογραφημένο μήνυμα. Στη συνέχεια, δηλώστε έναν βρόχο for που επαναλαμβάνεται πάνω από κάθε γράμμα του μηνύματος.

Εάν το γράμμα δεν είναι κενό, περάστε το στο λεξικό για αναζήτηση. Το λεξικό επιστρέφει την αντίστοιχη τιμή κωδικού Περισσότερα με βάση το κλειδί. Προσθέστε ένα κενό για να διαχωρίσετε τους χαρακτήρες του κώδικα Μορς και χρησιμοποιήστε τη στενογραφία += τελεστή για να το συνδέσει με τον κωδικό που λαμβάνεται από το λεξικό. Εάν το γράμμα είναι λευκό κενό, προσθέστε ένα επιπλέον διάστημα στην κρυπτογράφηση. Ο κώδικας Μορς διαχωρίζει τις λέξεις με δύο διαδοχικά κενά.

defκρυπτογράφηση(μήνυμα):
κρυπτογράφηση = ""
για επιστολή σε μήνυμα:
αν γράμμα != " ":
κρυπτογράφηση += MORSE_CODE_DICT[γράμμα] + " "
αλλού:
κρυπτογράφηση += " "
ΕΠΙΣΤΡΟΦΗ κρυπτογράφημα

Δηλώστε μια συνάρτηση με το όνομα αποκρυπτογράφηση που δέχεται μήνυμα ως παράμετρος εισόδου. Προσθέστε ένα κενό στο τέλος, χρησιμοποιώντας τον τελεστή στενογραφίας για να αποκτήσετε πρόσβαση στον τελευταίο χαρακτήρα του κώδικα Μορς. Αρχικοποιήστε δύο μεταβλητές, την αποκρυπτογράφηση και citext για να κρατάτε κενές χορδές. Η μεταβλητή αποκρυπτογράφηση θα κρατήσει την αποκρυπτογραφημένη πρόταση που αποτελείται από το αγγλικό αλφάβητο ενώ χρησιμοποιείτε το citext για να αποθηκεύσετε κάθε γράμμα του κώδικα Μορς.

Επαναλάβετε έναν βρόχο for που διατρέχει κάθε γράμμα του κώδικα Μορς. Εάν το γράμμα δεν είναι λευκό κενό, αρχικοποιήστε μια μεταβλητή μετρητή i που διατηρεί τον αριθμό των διαστημάτων στο μηδέν και αποθηκεύστε τον κώδικα Μορς ενός μεμονωμένου χαρακτήρα σε citext. Διαφορετικά, το γράμμα είναι κενό, οπότε αυξήστε τον μετρητή κατά ένα.

Εάν ο μετρητής ισούται με δύο, σημαίνει ότι πρέπει να προσθέσετε κενό διάστημα στον αποκρυπτογραφημένο αποκρυπτογραφημένο αποκρυπτογραφητή μεταβλητής λέξης. Διαφορετικά, αποκτήστε πρόσβαση στα κλειδιά χρησιμοποιώντας τις τιμές τους. Για να το κάνετε αυτό, επαναλάβετε τα ζεύγη κλειδιού-τιμής στο λεξικό χρησιμοποιώντας τη συνάρτηση στοιχείων. Εάν το citext ισούται με την τιμή, προσθέστε το αντίστοιχο κλειδί στη μεταβλητή αποκρυπτογράφησης χρησιμοποιώντας τον τελεστή στενογραφίας.

Τέλος, διαγράψτε το citext για να λάβετε το επόμενο γράμμα και επιστρέψτε την αποκρυπτογραφημένη πρόταση που ελήφθη στην κλήση συνάρτησης.

defαποκρυπτογράφηση(μήνυμα):
μήνυμα += " "
αποκρυπτογραφώ = ""
citext = ""

για επιστολή σε μήνυμα:
αν γράμμα != " ":
i = 0
citext += γράμμα
αλλού:
i += 1

αν i == 2:
αποκρυπτογραφώ += " "
αλλού:
Γιακλειδί, αξίασεMORSE_CODE_DICT.αντικείμενα():
αν citext == τιμή:
αποκρυπτογράφηση += κλειδί

citext = ""

ΕΠΙΣΤΡΟΦΗ αποκρυπτογραφώ

Δοκιμάστε τις συναρτήσεις με κάποιο δείγμα εισαγωγής. Ξεκινήστε αρχικοποιώντας μια μεταβλητή με όνομα μήνυμα με τη λέξη ή την πρόταση που θέλετε να κρυπτογραφήσετε. Χρησιμοποιήστε το ανώτερος λειτουργία για να μετατρέψετε όλα τα γράμματα σε κεφαλαία και να τα μεταβιβάσετε στη συνάρτηση κρυπτογράφησης ως όρισμα. Ο κώδικας μορς περιέχει μόνο κεφαλαία γράμματα, τα οποία είναι τα κλειδιά του λεξικού. Αυτό βοηθά επίσης στην αποφυγή περιττών ελέγχων χρόνου εκτέλεσης για έγκυρη υπόθεση.

Εκτυπώστε την τιμή που προκύπτει για να δείτε το ισοδύναμο κώδικα Μορς της αρχικής πρότασης.

Στη συνέχεια, αποθηκεύστε έναν κώδικα Μορς στη μεταβλητή μηνύματος και περάστε τον στη συνάρτηση αποκρυπτογράφησης. Εκτυπώστε το αποτέλεσμα και ελέγξτε ότι είναι σωστό.

Αντί να κωδικοποιήσετε σκληρά την είσοδο, μπορείτε να την αποδεχτείτε από τον χρήστη με το εισαγωγή() λειτουργία.

μήνυμα = "Κάνουν χρήση του"
result = κρυπτογράφηση (message.upper())
Τυπώνω(αποτέλεσμα)

μήνυμα = "-- .- -.-. ..-.... ..-."
αποτέλεσμα = αποκρυπτογράφηση (μήνυμα)
Τυπώνω(αποτέλεσμα)

Έξοδος του μεταφραστή κώδικα Morse σε Python

Το πρόγραμμα Python μεταφράζει κάθε γράμμα του αγγλικού αλφαβήτου στο ισοδύναμο κώδικα Μορς και το εμφανίζει στην οθόνη εξόδου του τερματικού όπως φαίνεται. Εάν αντιγράψετε το αποτέλεσμα που λάβατε και το περάσετε για αποκρυπτογράφηση, θα λάβετε το αρχικό κείμενο που διαβιβάσατε νωρίτερα. Αυτό επιβεβαιώνει ότι η μετάφραση λειτούργησε τέλεια.

Εφαρμογές για κινητά για κώδικα Morse

Οι μεταφραστές κώδικα Morse είναι διαθέσιμοι δωρεάν στα χέρια σας. Περισσότερες από εκατοντάδες εφαρμογές όπως το Morse Mania, το Morse Trainer, το Morse Code Reader, το Morse Code Keyboard και το Morse Code Translator είναι διαθέσιμες σε διαφορετικές πλατφόρμες. Προς έκπληξή σας, υποστηρίζεται ακόμη και από το GBoard - το Πληκτρολόγιο Google.

Για να αποκτήσετε πρόσβαση στον κώδικα Μορς στο Gboard σας, ανοίξτε το εικονίδιο Ρυθμίσεις στο Gboard, επιλέξτε Γλώσσες και πατήστε Αγγλικά (Η.Π.Α.). Σύρετε προς τα δεξιά στις επιλογές και, στη συνέχεια, επιλέξτε τον κωδικό Μορς. Το πληκτρολόγιό σας υποστηρίζει πλέον την εισαγωγή κώδικα Μορς μαζί με υπηρεσίες προσβασιμότητας, όπως TalkBack, Switch Access ή Select to Speak.