English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مترجم شيفرة مورس في Python

استخدمت في الخوارزمية مُراجع الشيفرة المورس. تم تسمية هذا الاختصاصي من قبل سامويل إف بي مورس (Samuel FB Morse). من خلال هذه التقنية، سنقوم بتحويل الرسالة إلى سلسلة من النقاط، المسافات، '-'، '/'

هذه التقنية بسيطة جدًا. كل حرف إنجليزي يمثل سلسلة من النقاط، المسافات، '/'، '-'

القاموس كالتالي

'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':'-----', ',':'--..--', '.':'.-.-.-'
'?':'..--..', '/':'-..-.', '-':'-.....-'
'(':'-.--.', ')':'-.--.-'}

مثال

الرسالة هي PYTHON-PROGRAM
النتيجة هي .--. -.-- - .... --- -. -....- .--. .-. --- --. .-. -. --

الخوارزمية

تشفير

خطوة 1: إذا كانت السلسلة، أولاً نستخرج كل حرف من الكلمة ونقارنها بمفردات الشيفرة المورس، ثم نأخذ الشيفرة التي تتناسب مع الحرف.
خطوة 2: الخطوة التالية هي تخزين الشيفرة في متغير. ويجب علينا اتباع أنه يجب الحفاظ على مسافة واحدة بين كل شيفرة مورس.
خطوة 3: يجب الحفاظ على مسافة بين كل كلمة.

فك التشفير

خطوة 1: أولاً، نضيف مساحة في نهاية السلسلة.
خطوة 2: الآن نمر على كل حرف في الرسالة حتى لا نلاحظ المساحة.
خطوة 3: عند الحصول على مساحة، تأكد من التحقق باستخدام قاموس الشيفرة المورس وتخزينها في متغير.
Step4: When get 2 consecutive spaces we will add another space to our variable containing the decoded string.
Step5: When get last space of the message that means this is the last letter of Morse Code Generator.

范例程式码

# -*- coding: utf-8 -*-
"""
Created on Tue Oct 2 11:21:31 2018
@author: Satyajit
"""
# 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':'-----', ',':'--..--', '.':'.-.-.-'
   '?':'..--..', '/':'-..-.', '-':'-.....-'
   '(':'-.--.', ')':'-.--.-'
}
def encryption(message):
   my_cipher = ''
   for myletter in message:
      if myletter != ' ':
         my_cipher += MORSE_CODE_DICT[myletter] + ' '
      else:
         my_cipher += ' '
      return my_cipher
# این تابع برای رمزگشایی استفاده می‌شود
# کد مورس به انگلیسی
def decryption(message):
   message += ' '
   decipher = ''
   mycitext = ''
   for myletter in message:
      # بررسی برای فضای خالی
      if (myletter != ' '):
         i = 0
         mycitext += myletter
      else:
         i += 1
         if i == 2 :
            decipher += ' '
         else:
            decipher += list(MORSE_CODE_DICT.keys())[list(MORSE_CODE_DICT
            .values()).index(mycitext)]
            mycitext = ''
   return decipher
def main():
   my_message = "PYTHON-PROGRAM"
   output = encryption(my_message.upper())
   print(output)
   my_message = ".--. -.-- - - .... --- -. -....- .--. .-. --- --. -. -."
   output = decryption(my_message)
   print(output)
# اجرای تابع اصلی
if __name__ == '__main__': main()

نتایج خروجی

.--. -.-- - - .... --- -. -....- .--. .-. --- --. -. -.
PYTHON-PROGRAM
سيذهب لك هذا