Morse Code Translator is a translator that lets anyone translate text to Morse code and decode Morse code to text easily. With the online Morse code translator, anyone can convert any plain text in English or whatever language to Morse code and vice versa.
It converts morse code to english alphabets and numbers and vice - versa
Encryption In the case of encryption, we extract each character (if not space) from a word one at a time and match it with its corresponding morse code stored in whichever data structure we have chosen(if you are coding in python, dictionaries can turn out to be very useful in this case) Store the morse code in a variable that will contain our encoded string and then we add a space to our string that will contain the result. While encoding in morse code we need to add 1 space between every character and 2 consecutive spaces between every word. If the character is a space then add another space to the variable containing the result. We repeat this process till we traverse the whole string Decryption In the case of decryption, we start by adding a space at the end of the string to be decoded (this will be explained later). Now we keep extracting characters from the string till we are not getting any space. As soon as we get a space we look up the corresponding English language character to the extracted sequence of characters (or our morse code) and add it to a variable that will store the result. Remember keeping track of the space is the most important part of this decryption process. As soon as we get 2 consecutive spaces we will add another space to our variable containing the decoded string. The last space at the end of the string will help us identify the last sequence of morse code characters (since space acts as a check for extracting characters and start decoding them). For Example I have created a program for Morse Code Translator In Python
Python program to implement Morse Code Translator
''' VARIABLE KEY 'cipher' -> 'stores the morse translated form of the english string' 'decipher' -> 'stores the english translated form of the morse string' 'citext' -> 'stores morse code of a single character' 'i' -> 'keeps count of the spaces between morse characters' 'message' -> 'stores the string to be encoded or decoded' '''
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
# correspponding 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 = "SUVAM SANKAR KAR" result = encrypt(message.upper()) print (result)
message = "... ..- ...- .- -- ... .- -. -.- .- .-. -.- .- .-. "
result = decrypt(message)
print (result)
Executes the main function
if name == 'main': main()
We have learned about morse code translator

Log in or sign up for Devpost to join the conversation.