মোর্স কোড কী?
মোর্স কোড একটি এনকোডিং পদ্ধতি যেখানে প্রতিটি অক্ষর/সংখ্যা ডট (.) এবং ড্যাশ (-) দিয়ে রিপ্রেজেন্ট করা হয়। এনক্রিপশন/ডিক্রিপশনে ব্যবহৃত হয়।
মোর্স কোড ডিকশনারি
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': '-----', ',': '--..--', '.': '.-.-.-','?': '..--..','/': '-..-.',
'-': '-....-','(': '-.--.', ')': '-.--.-', ' ': '/'
}
এনক্রিপশন (টেক্সট → মোর্স)
def encrypt(message):
cipher = ''
for letter in message.upper():
if letter != ' ':
cipher += MORSE_CODE_DICT.get(letter, '') + ' '
else:
cipher += ' ' # শব্দের মধ্যে স্পেস
return cipher.strip()
ডিক্রিপশন (মোর্স → টেক্সট)
def decrypt(message):
# রিভার্স ডিকশনারি
REVERSE_DICT = {v: k for k, v in MORSE_CODE_DICT.items()}
message += ' ' # শেষে স্পেস যোগ
decipher = ''
citext = ''
for letter in message:
if letter != ' ':
citext += letter
else:
if citext:
decipher += REVERSE_DICT.get(citext, '?')
citext = ''
else:
# দুটি স্পেস = শব্দের ব্যবধান
decipher += ' '
return decipher.strip()
মেন ফাংশন ও টেস্ট
def main():
msg = "PYTHON-PROGRAM"
enc = encrypt(msg)
print(f"Encrypted: {enc}")
# .--. -.-- - .... --- -. -....- .--. .-. --- --. .-. .- --
dec = decrypt(enc)
print(f"Decrypted: {dec}")
# PYTHON-PROGRAM
if __name__ == '__main__':
main()
এনক্রিপশন নিয়ম
- প্রতিটি মোর্স কোডের পরে ১ স্পেস।
- দুই শব্দের মধ্যে ২ স্পেস (এখানে
/বা ডবল স্পেস ব্যবহার করা হয়)।
ডিক্রিপশন লজিক
- স্ট্রিংয়ের শেষে স্পেস যোগ করা হয় (লুপের সুবিধার্থে)।
- ক্যারেক্টার জমা করা হয় যতক্ষণ স্পেস পাওয়া যায়।
- স্পেস পেলে রিভার্স ডিকশনারি থেকে লুকআপ।
- লগাতার দুটি স্পেস পেলে শব্দের ব্যবধান হিসেবে স্পেস যোগ।