Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

El código Morse existe desde principios de 1800 y ha llegado a la era digital. Desde servir como un medio crítico de comunicación durante la Segunda Guerra Mundial hasta enviar mensajes cifrados en la aviación y la marina, el código Morse llegó para quedarse.

Si no conoce este lenguaje fascinante, prepárese no solo para descubrir el código Morse, sino también para crear su propio traductor usando Python.

¿Qué es el código Morse?

El código Morse es un método de comunicación en el que se codifican caracteres de texto en una secuencia estándar de dos señales de duración variable, indicadas por puntos y rayas. El código Morse recibe su nombre de Samuel Morse, uno de los inventores del telégrafo. Puede memorizarlo y transmitirlo a través de ondas de sonido o luz visible perceptible por los sentidos humanos.

La longitud del código Morse equivalente es inversa a nuestra frecuencia de uso de ese alfabeto, y puede ver que el código Morse asigna la letra más común en el idioma inglés, E, a solo un punto.

instagram viewer

Puedes usar estos Software y aplicaciones gratuitas de código Morse para enviar mensajes codificados a otro. Por otro lado, aprender el código Morse es bastante simple y puedes aprenderlo en un mes con bastante práctica. Para ayudarlo a comenzar, aquí hay nueve sitios para aprender el código Morse gratis.

Cómo construir un traductor de código Morse usando Python

Comience definiendo un diccionario de Python llamado MORSE_CODE_DICT para almacenar los valores del código Morse. Las teclas serán letras del alfabeto inglés, con la secuencia adecuada de puntos o guiones como valor correspondiente. Usando un diccionario, puede buscar rápidamente cualquier clave a su valor correspondiente.

MORSE_CODE_DICT = { 'A':'.-', 'B':'-...',
'C':'-.-.', 'D':'-..', 'MI':'.',
'F':'..-.', 'GRAMO':'--.', 'H':'...',
'I':'..', 'J':'.', 'K':'-.-',
'L':'.-..', 'METRO':'--', 'NORTE':'-.',
'O':'', 'PAG':'.--.', 'Q':'--.-',
'R':'.-.', 'S':'...', 'T':'-',
'tú':'..-', 'V':'...-', 'W':'.--',
'X':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }

Declare una función llamada cifrar que acepte mensaje como parámetro de entrada. Dentro de la función, inicialice una variable llamada cifrar con una cadena vacía. Lo usará para crear y almacenar el mensaje cifrado. A continuación, declare un bucle for que itere sobre cada letra del mensaje.

Si la letra no es un espacio en blanco, pásela al diccionario para buscarla. El diccionario devuelve el valor de código Más correspondiente según la clave. Agregue un espacio para separar los caracteres del código Morse y use la taquigrafía += operador para concatenarlo con el código obtenido del diccionario. Si la letra es un espacio en blanco, agregue un espacio adicional al cifrado; El código Morse separa las palabras con dos espacios consecutivos.

definitivamenteencriptar(mensaje):
cifrado = ""
para letra en mensaje:
si letra != " ":
cifrado += MORSE_CODE_DICT[letra] + " "
demás:
cifrar += " "
devolver cifrar

Declare una función llamada descifrar que acepte mensaje como parámetro de entrada. Agrega un espacio al final, usando el operador abreviado para acceder al último carácter del código Morse. Inicializar dos variables, descifrar y cita para contener cadenas vacías. La variable de descifrado contendrá la oración descifrada que consiste en el alfabeto inglés mientras usa citext para almacenar cada letra del código Morse.

Itere un ciclo for que se ejecuta a través de cada letra del código Morse. Si la letra no es un espacio en blanco, inicialice una variable de contador i que realice un seguimiento del número de espacios hasta cero y almacene el código Morse de un solo carácter en citext. De lo contrario, la letra es un espacio, así que incrementa el contador en uno.

Si el contador es igual a dos, significa que debe agregar un espacio en blanco a la palabra descifrada variable descifrar. De lo contrario, acceda a las claves utilizando sus valores. Para hacer esto, itere sobre los pares clave-valor en el diccionario usando la función de elementos. Si el citext es igual al valor, agregue la clave correspondiente a la variable de descifrado usando el operador abreviado.

Finalmente, borre el citext para obtener la siguiente letra y devuelva la oración descifrada obtenida a la llamada de función.

definitivamentedescifrar(mensaje):
mensaje += " "
descifrar = ""
cittexto = ""

para letra en mensaje:
si letra != " ":
yo = 0
cittexto += letra
demás:
yo += 1

si yo == 2:
descifrar += " "
demás:
parallave, valorenMORSE_CODE_DICT.elementos():
si texto == valor:
descifrar += clave

cittexto = ""

devolver descifrar

Pruebe las funciones con alguna entrada de muestra. Comience inicializando una variable llamada mensaje con la palabra u oración que desea cifrar. Utilizar el superior para convertir todas las letras a mayúsculas y pasarlas a la función de cifrado como argumento. El código Morse contiene solo letras mayúsculas, que son las claves del diccionario. Esto también ayuda a evitar verificaciones de tiempo de ejecución innecesarias para casos válidos.

Imprima el valor resultante para ver el equivalente en código Morse de la oración original.

Luego, almacene un código Morse en la variable del mensaje y páselo a la función de descifrado. Imprime el resultado y comprueba que es correcto.

En lugar de codificar la entrada, puede aceptarla del usuario con el aporte() función.

mensaje = "Hacer uso de"
resultado = cifrar (mensaje.superior())
imprimir(resultado)

mensaje = "-- .- -.-. ..-.... ..-."
resultado = descifrar (mensaje)
imprimir(resultado)

Salida del traductor de código Morse en Python

El programa Python traduce cada letra del alfabeto inglés a su código Morse equivalente y lo muestra en la pantalla de salida del terminal como se muestra. Si copia el resultado obtenido y lo pasa para descifrarlo, recibirá el texto original que pasó anteriormente. Esto verifica que la traducción funcionó perfectamente.

Aplicaciones Móviles para Código Morse

Los traductores de código Morse están disponibles de forma gratuita al alcance de su mano. Más de cientos de aplicaciones como Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard y Morse Code Translator están disponibles en diferentes plataformas. Para su sorpresa, incluso es compatible con GBoard, el teclado de Google.

Para acceder al código Morse en su Gboard, abra el ícono de Configuración en el Gboard, seleccione Idiomas y toque Inglés (EE. UU.). Deslice el dedo hacia la derecha a través de las opciones y luego elija el código Morse. Su teclado ahora admite la inserción de código Morse junto con servicios de accesibilidad, como TalkBack, Switch Access o Select to Speak.