logo

Traducteur de code Morse en Python

Le code Morse est une méthode de transmission d'informations textuelles sous la forme d'une série de tonalités, de lumières ou de clics qui peuvent être directement compris par un auditeur ou un observateur expérimenté sans équipement spécial. Il porte le nom de Samuel F. B. Morse, l'inventeur du télégraphe.

Algorithme

L'algorithme est très simple. Chaque caractère de la langue anglaise est remplacé par une série de « points » et de « tirets » ou parfois simplement par un « point » ou un « tiret » singulier et vice versa.
Veuillez vous référer à ce Wikipédia image pour plus de détails.



Chiffrement

  1. Dans le cas du cryptage, nous extrayons chaque caractère (sinon l'espace) d'un mot un par un et le faisons correspondre avec son code morse correspondant stocké dans la structure de données que nous avons choisie (si vous codez en python, les dictionnaires peuvent s'avérer être très utile dans ce cas)
  2. Stockons le code morse dans une variable qui contiendra notre chaîne codée puis nous ajoutons un espace à notre chaîne qui contiendra le résultat.
  3. Lors de l'encodage en code morse, nous devons ajouter 1 espace entre chaque caractère et 2 espaces consécutifs entre chaque mot.
  4. Si le caractère est un espace, ajoutez un autre espace à la variable contenant le résultat. Nous répétons ce processus jusqu'à ce que nous parcourions toute la chaîne

Décryptage

  1. Dans le cas du décryptage, on commence par ajouter un espace à la fin de la chaîne à décoder (cela sera expliqué plus tard).
  2. Maintenant, nous continuons à extraire les caractères de la chaîne jusqu'à ce que nous n'obtenions plus d'espace.
  3. Dès que nous obtenons un espace, nous recherchons le caractère anglais correspondant à la séquence de caractères extraite (ou notre code morse) et l'ajoutons à une variable qui stockera le résultat.
  4. N'oubliez pas que garder une trace de l'espace est la partie la plus importante de ce processus de décryptage. Dès que nous aurons 2 espaces consécutifs nous ajouterons un autre espace à notre variable contenant la chaîne décodée.
  5. Le dernier espace à la fin de la chaîne nous aidera à identifier la dernière séquence de caractères en code morse (puisque l'espace agit comme un contrôle pour extraire les caractères et commencer à les décoder).

Mise en œuvre:

Python fournit une structure de données appelée dictionnaire qui stocke les informations sous forme de paires clé-valeur, ce qui est très pratique pour implémenter un chiffre tel qu'un code morse. Nous pouvons sauvegarder le tableau du code morse dans un dictionnaire où (paires clé-valeur) => (Caractères anglais-Code Morse) . Le texte en clair (caractères anglais) remplace les clés et le texte chiffré (code Morse) forme les valeurs des clés correspondantes. Les valeurs des clés sont accessibles à partir du dictionnaire de la même manière que nous accédons aux valeurs d'un tableau via leur index et vice versa.

Python3




enregistrer la mémoire





# Python program to implement Morse Code Translator> '''> VARIABLE KEY> 'cipher' ->'stocke la forme traduite en morse de la chaîne anglaise'> 'decipher' ->'stocke la forme traduite en anglais de la chaîne morse'> 'citext' ->'stocke le code morse d'un seul caractère'> 'i' ->'compte les espaces entre les caractères morse'> 'message' ->'stocke la chaîne à encoder ou décoder'> '''> # Dictionary representing the morse code chart> MORSE_CODE_DICT>=> {>'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'>:>'-----'>,>', '>:>'--..--'>,>'.'>:>'.-.-.-'>,> >'?'>:>'..--..'>,>'/'>:>'-..-.'>,>'-'>:>'-....-'>,> >'('>:>'-.--.'>,>')'>:>'-.--.-'>}> # Function to encrypt the string> # according to the morse code chart> def> encrypt(message):> >cipher>=> ''> >for> letter>in> message:> >if> letter !>=> ' '>:> ># Looks up the dictionary and adds the> ># corresponding morse code> ># along with a space to separate> ># morse codes for different characters> >cipher>+>=> MORSE_CODE_DICT[letter]>+> ' '> >else>:> ># 1 space indicates different characters> ># and 2 indicates different words> >cipher>+>=> ' '> >return> cipher> # Function to decrypt the string> # from morse to english> def> decrypt(message):> ># extra space added at the end to access the> ># last morse code> >message>+>=> ' '> >decipher>=> ''> >citext>=> ''> >for> letter>in> message:> ># checks for space> >if> (letter !>=> ' '>):> ># counter to keep track of space> >i>=> 0> ># storing morse code of a single character> >citext>+>=> letter> ># in case of space> >else>:> ># if i = 1 that indicates a new character> >i>+>=> 1> ># if i = 2 that indicates a new word> >if> i>=>=> 2> :> ># adding space to separate words> >decipher>+>=> ' '> >else>:> ># accessing the keys using their values (reverse of encryption)> >decipher>+>=> list>(MORSE_CODE_DICT.keys())[>list>(MORSE_CODE_DICT> >.values()).index(citext)]> >citext>=> ''> >return> decipher> # Hard-coded driver function to run the program> def> main():> >message>=> 'GEEKS-FOR-GEEKS'> >result>=> encrypt(message.upper())> >print> (result)> >message>=> '--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... '> >result>=> decrypt(message)> >print> (result)> # Executes the main function> if> __name__>=>=> '__main__'>:> >main()>

>

objet java en json

>

Sortir:

--. . . -.- ... -....- ..-. --- .-. -....- --. . . -.- ... GEEKS-FOR-GEEKS>