# 摩斯电码密码表 |
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' : '--..' , '0' : '-----' , '1' : '.----' , '2' : '..---' , '3' : '...--' , |
'4' : '....-' , '5' : '.....' , '6' : '-....' , '7' : '--...' , '8' : '---..' , |
'9' : '----.' , '.' : '.-.-.-' , ',' : '--..--' , '?' : '..--..' , |
'/' : '-..-.' , '-' : '-....-' , '(' : '-.--.' , ')' : '-.--.-' } |
def chinese_to_morse(chinese_str): |
# 将中文字符转换为Unicode编码 |
unicode_str = chinese_str.encode( 'unicode_escape' ).decode() |
#print(unicode_str) |
morse_code = '' |
# 遍历Unicode编码中的每个字符,将其转换为摩斯电码 |
for char in unicode_str: |
if char = = "\\" : |
morse_code + = MORSE_CODE_DICT[ '/' ] + ' ' |
else : |
char_morse_code = MORSE_CODE_DICT.get(char.lower()) |
if char_morse_code: |
morse_code + = char_morse_code + ' ' |
return morse_code |
def morse_to_chinese(morse_code): |
# 将摩斯电码解码为Unicode编码 |
unicode_str = '' |
morse_code_list = morse_code.split( ' ' ) |
for morse_char in morse_code_list: |
if morse_char = = '': |
continue |
char = list (MORSE_CODE_DICT.keys())[ list (MORSE_CODE_DICT.values()).index(morse_char)] |
if char = = '/' : |
unicode_str + = '\\' |
else : |
unicode_str + = char |
return unicode_str.encode( 'utf-8' ).decode( 'unicode_escape' ) |
print (chinese_to_morse( "我爱你中国" )) |
print (morse_to_chinese( |
"-..-. ..- -.... ..--- .---- .---- -..-. ..- --... ..--- ...-- .---- -..-. ..- ....- ..-. -.... ----- -..-. ..- ....- . ..--- -.. -..-. ..- ..... -.... ..-. -.. " )) |