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

Built With

Share this project:

Updates