logo

Traductor de código Morse en Python

El código Morse es un método para transmitir información de texto como una serie de tonos, luces o clics que se encienden y apagan y que un oyente u observador experto puede entender directamente sin equipo especial. Lleva el nombre de Samuel F. B. Morse, inventor del telégrafo.

Algoritmo

El algoritmo es muy simple. Cada carácter en el idioma inglés se sustituye por una serie de 'puntos' y 'guiones' o, a veces, simplemente por 'puntos' o 'guiones' singulares y viceversa.
Consulte esta Wikipedia. imagen para detalles.



Cifrado

  1. En el caso del cifrado, extraemos cada carácter (si no el espacio) de una palabra uno a la vez y lo relacionamos con su correspondiente código morse almacenado en cualquier estructura de datos que hayamos elegido (si está codificando en Python, pueden resultar diccionarios). ser muy útil en este caso)
  2. Almacena el código morse en una variable que contendrá nuestra cadena codificada y luego agregamos un espacio a nuestra cadena que contendrá el resultado.
  3. Mientras codificamos en código morse, debemos agregar 1 espacio entre cada carácter y 2 espacios consecutivos entre cada palabra.
  4. Si el carácter es un espacio, agregue otro espacio a la variable que contiene el resultado. Repetimos este proceso hasta recorrer toda la cadena.

Descifrado

  1. En el caso del descifrado, comenzamos agregando un espacio al final de la cadena a decodificar (esto se explicará más adelante).
  2. Ahora seguimos extrayendo caracteres de la cadena hasta que no obtengamos ningún espacio.
  3. Tan pronto como obtenemos un espacio, buscamos el carácter del idioma inglés correspondiente a la secuencia de caracteres extraída (o nuestro código morse) y lo agregamos a una variable que almacenará el resultado.
  4. Recuerde que realizar un seguimiento del espacio es la parte más importante de este proceso de descifrado. Tan pronto como obtengamos 2 espacios consecutivos agregaremos otro espacio a nuestra variable que contiene la cadena decodificada.
  5. El último espacio al final de la cadena nos ayudará a identificar la última secuencia de caracteres del código morse (ya que el espacio actúa como verificación para extraer caracteres y comenzar a decodificarlos).

Implementación:

Python proporciona una estructura de datos llamada diccionario que almacena información en forma de pares clave-valor, lo cual es muy conveniente para implementar un cifrado como el código morse. Podemos guardar la tabla de códigos morse en un diccionario donde (pares clave-valor) => (caracteres ingleses-código Morse) . El texto plano (caracteres ingleses) reemplaza las claves y el texto cifrado (código Morse) forma los valores de las claves correspondientes. Se puede acceder a los valores de las claves desde el diccionario de la misma manera que accedemos a los valores de un array a través de su índice y viceversa.

Python3




'número de Euler en java'





# Python program to implement Morse Code Translator> '''> VARIABLE KEY> 'cipher' ->'almacena la forma traducida en morse de la cadena en inglés'> 'decipher' ->'almacena la forma traducida al inglés de la cadena morse'> 'citext' ->'almacena el código morse de un solo carácter'> 'i' ->'lleva la cuenta de los espacios entre caracteres morse'> 'message' ->'almacena la cadena a codificar o decodificar'> '''> # 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()>

>

>

java xor

Producción:

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