O código Morse existe desde o início do século XIX e chegou à era digital. Desde servir como um meio crítico de comunicação durante a Segunda Guerra Mundial até enviar mensagens criptografadas na aviação e na marinha, o código Morse veio para ficar.
Se você não conhece essa linguagem fascinante, prepare-se não apenas para descobrir o código Morse, mas também para construir seu próprio tradutor usando Python.
O que é Código Morse?
O código Morse é um método de comunicação no qual você codifica caracteres de texto em uma sequência padrão de dois sinais de duração variável, indicados por pontos e traços. O código Morse recebe o nome de Samuel Morse, um dos inventores do telégrafo. Você pode memorizá-lo e transmiti-lo através de ondas sonoras ou luz visível perceptível pelos sentidos humanos.
O comprimento do equivalente do código Morse é inverso à nossa frequência de uso desse alfabeto, e você pode ver que o código Morse atribui a letra mais comum no idioma inglês, E, a apenas um ponto.
Você pode usar estes software de código Morse gratuito e aplicativos para enviar mensagens codificadas um para o outro. Por outro lado, aprender o código Morse é bastante simples e você pode aprendê-lo em um mês com bastante prática. Para ajudá-lo a começar, aqui estão nove sites para aprender código Morse de graça.
Como construir um tradutor de código Morse usando Python
Comece definindo um dicionário Python chamado MORSE_CODE_DICT para armazenar os valores do código Morse. As chaves serão letras do alfabeto inglês, com a sequência de ponto ou traço apropriada como valor correspondente. Usando um dicionário, você pode pesquisar rapidamente qualquer chave para seu valor correspondente.
MORSE_CODE_DICT = { 'A':'.-', 'B':'-...',
'C':'-.-.', 'D':'-..', 'E':'.',
'F':'..-.', 'G':'--.', 'H':'...',
'EU':'..', 'J':'.', 'K':'-.-',
'EU':'.-..', 'M':'--', 'N':'-.',
'O':'', 'P':'.--.', 'Q':'--.-',
'R':'.-.', 'S':'...', 'T':'-',
'VOCÊ':'..-', 'V':'...-', 'C':'.--',
'X':'-..-', 'Y':'-.--', 'Z':'--..',
'1':'.', '2':'..', '3':'...--',
'4':'...-', '5':'...', '6':'-...',
'7':'--...', '8':'..', '9':'.',
'0':'', ', ':'--..--', '.':'.-.-.-',
'?':'..--..', '/':'-..-.', '-':'-...-',
'(':'-.--.', ')':'-.--.-' }
Declare uma função chamada encrypt que aceita mensagem como parâmetro de entrada. Dentro da função, inicialize uma variável chamada cifra com uma string vazia. Você usará isso para criar e armazenar a mensagem criptografada. Em seguida, declare um loop for que itera sobre cada letra da mensagem.
Se a letra não for um espaço em branco, passe-a para o dicionário para pesquisa. O dicionário retorna o valor de código More correspondente com base na chave. Adicione um espaço para separar os caracteres do código Morse e use a abreviação += operador para concatená-lo com o código obtido no dicionário. Se a letra for um espaço em branco, adicione um espaço extra à cifra; O código Morse separa palavras com dois espaços consecutivos.
defcriptografar(mensagem):
cifra = ""
para carta na mensagem:
se letra != " ":
cifra += MORSE_CODE_DICT[letra] + " "
outro:
cifra += " "
retornar cifra
Declare uma função chamada decrypt que aceite mensagem como parâmetro de entrada. Adicione um espaço no final, usando o operador abreviado para acessar o último caractere do código Morse. Inicialize duas variáveis, decifre e citexto para manter strings vazias. A variável decifrar manterá a frase descriptografada que consiste no alfabeto inglês enquanto você usa o citext para armazenar cada letra do código Morse.
Iterar um loop for que percorre cada letra do código Morse. Se a letra não for um espaço em branco, inicialize uma variável contadora i que rastreie o número de espaços até zero e armazene o código Morse de um único caractere no citext. Caso contrário, a letra é um espaço, então incremente o contador em um.
Se o contador for igual a dois, significa que você deve adicionar espaço em branco para decifrar a variável da palavra descriptografada. Caso contrário, acesse as chaves usando seus valores. Para fazer isso, itere os pares chave-valor no dicionário usando a função items. Se o citext for igual ao valor, adicione a chave correspondente à variável decifrada usando o operador abreviado.
Por fim, limpe o citext para obter a próxima letra e retorne a sentença descriptografada obtida para a chamada de função.
defdescriptografar(mensagem):
mensagem += " "
decifrar = ""
citexto = ""para carta na mensagem:
se letra != " ":
eu = 0
citexto += letra
outro:
eu += 1se eu == 2:
decifrar += " "
outro:
parachave, valoremMORSE_CODE_DICT.Unid():
if citext == valor:
decifrar += chavecitexto = ""
retornar decifrar
Teste as funções com alguma entrada de amostra. Comece inicializando uma variável chamada mensagem com a palavra ou frase que você deseja criptografar. Use o superior função para converter todas as letras em maiúsculas e passá-las para a função criptografar como um argumento. O código Morse contém apenas letras maiúsculas, que são as chaves do dicionário. Isso também ajuda a evitar verificações de tempo de execução desnecessárias para casos válidos.
Imprima o valor resultante para visualizar o equivalente em código Morse da frase original.
Em seguida, armazene um código Morse na variável de mensagem e passe-o para a função descriptografar. Imprima o resultado e verifique se está correto.
Em vez de codificar a entrada, você pode aceitá-la do usuário com o entrada() função.
mensagem = "Fazer uso de"
resultado = criptografar (message.upper())
imprimir(resultado)
mensagem = "-- .- -.-. ..-.... ..-."
resultado = descriptografar (mensagem)
imprimir(resultado)
Saída do tradutor de código Morse em Python
O programa Python traduz cada letra do alfabeto inglês para seu equivalente em código Morse e o exibe na tela de saída do terminal, conforme mostrado. Se você copiar a saída obtida e passá-la para descriptografia, receberá o texto original que passou anteriormente. Isso verifica se a tradução funcionou perfeitamente.
Aplicativos móveis para código Morse
Os tradutores de código Morse estão disponíveis gratuitamente na ponta dos dedos. Mais de centenas de aplicativos como Morse Mania, Morse Trainer, Morse Code Reader, Morse Code Keyboard e Morse Code Translator estão disponíveis em diferentes plataformas. Para sua surpresa, ele ainda é suportado pelo GBoard - o Teclado do Google.
Para acessar o Código Morse no seu Gboard, abra o ícone Configurações no Gboard, selecione Idiomas e toque em Inglês (EUA). Deslize pelas opções e escolha Código Morse. Seu teclado agora oferece suporte à inserção de código Morse junto com serviços de acessibilidade, como TalkBack, Switch Access ou Select to Speak.