摩斯密码(加密/解密)脚本
生活随笔
收集整理的這篇文章主要介紹了
摩斯密码(加密/解密)脚本
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
# v1.1
# encode時會將非ANSII字符變?yōu)榭崭?/span>
# decode時會跳過非ANSII字符
class MorseCoder:__encode_alphabet = {"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": "-----","(": ".--.-", "-": "-....-", "?": "..--..", "/": "-..-.",".": ".-.-.-", "@": ".--.-."}__decode_alphabet = dict([val, key] for key, val in __encode_alphabet.items()) # 解密對照表def encode(self, plaintext):"""Encode AscII chars in plaintext to morse code"""charList = list(plaintext.upper())morsecodeList = \[self.__encode_alphabet[char] if char in self.__encode_alphabet.keys() else " " for char in charList]return " ".join(morsecodeList)def decode(self, morsecode):morsecodeList = morsecode.split(" ")charList = \[self.__decode_alphabet[char] if char in self.__decode_alphabet.keys() else char for char in morsecodeList]return "".join(charList)def get_encode_alphabet(self):return self.__encode_alphabetdef get_decode_alphabet(self):return self.__decode_alphabetif __name__ == '__main__':mc = MorseCoder()plaintext = "ALPHALAB" #需要加密的字符串morsecode = mc.encode(plaintext)print("encode result: ", morsecode)morsecode = ".- .-.. .--. .... .- .-.. .- -..." #需要解密的密文plaintext = mc.decode(morsecode)print("decode result: ", plaintext)mc.get_encode_alphabet()mc.get_decode_alphabet()
轉(zhuǎn)載于:https://blog.csdn.net/xHibiki/article/details/88928419
總結(jié)
以上是生活随笔為你收集整理的摩斯密码(加密/解密)脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学生群体适合购买 iPad 2019 吗
- 下一篇: 大班教案《猴子过河》反思