当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-04 22:27 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
RT
http://joolix.com/2009/11/morse-encode-and-decode-script/

用法:
代码:
xiooli@XIOOLI> python morse.py -e "hello 大家好,我是 xiooli!"
.... . .-.. .-.. --- .-.- ..--- ----- .-.- . ..... .-.- .- ....- .-.- .- --... .-.- . ..... .-.- .- . .-.- -... -.... .-.- . ..... .-.- .- ..... .-.- -... -.. .-.- . ..-. .-.- -... -.-. .-.- ---.. -.-. .-.- . -.... .-.- ---.. ---.. .-.- ----. .---- .-.- . -.... .-.- ----. ---.. .-.- .- ..-. .-.- ..--- ----- -..- .. --- --- .-.. .. .-.- . ..-. .-.- -... -.-. .-.- ---.. .----
xiooli@XIOOLI> python morse.py -d ".... . .-.. .-.. --- .-.- ..--- ----- .-.- . ..... .-.- .- ....- .-.- .- --... .-.- . ..... .-.- .- . .-.- -... -.... .-.- . ..... .-.- .- ..... .-.- -... -.. .-.- . ..-. .-.- -... -.-. .-.- ---.. -.-. .-.- . -.... .-.- ---.. ---.. .-.- ----. .---- .-.- . -.... .-.- ----. ---.. .-.- .- ..-. .-.- ..--- ----- -..- .. --- --- .-.. .. .-.- . ..-. .-.- -... -.-. .-.- ---.. .----"
hello 大家好,我是 xiooli!
xiooli@XIOOLI>


源码:
代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Name:     morse.py
# Author:   xiooli
#           Email:  <xioooli[at]yahoo.com.cn>
#           Site:   http://joolix.com
# Licence:  GPLv3
# Version:  091104

''' Generate and transelate the morse code string.
'''
import re, urllib, sys

# the morse code for % is actually the code for ä or æ, I just borrowed it.
txt_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':'--..', '0':'-----', '1':'.----',
        '2':'..---', '3':'...--', '4':'....-', '5':'.....',
        '6':'-....', '7':'--...', '8':'---..', '9':'----.',
        '.':'.-.-.-', ',':'--..--', ':':'---...', '?':'..--..',
        '-':'-....-', '/':'-..-.', '=':'-...-', '@': '...-.-',
        '!':'...-.-', '\n':'', '%':'.-.-', ',':'--..--',
        ';':'-.-.-.', '_':'..--.-', '"':'.-..-.', '(':'-.--.',
        ')':'-.--.-', '$':'...-..-', ' ':' '
        }
morse_txt = {}
for i,j in txt_morse.items():
    morse_txt[j] = i

def gen_mc(str):
    mc = []
    str = urllib.quote(str).lower()

    for c in list(str):
        mc.append(txt_morse[c]+ " ")
    return "".join(mc)

def decode_mc(str):
    L = []
    l = str.split(" ")

    for mc in l:
        L.append(morse_txt[mc])
    str = "".join(L)
    return urllib.unquote(str)

if __name__ == "__main__":
    if len(sys.argv) <= 2:
        print "Error, at lest 2 arguments is needed!"
        sys.exit(1)
    elif sys.argv[1] == "-e":
        try:
            print gen_mc(sys.argv[2])
        except:
            print "Morse encoding failed, please check your string."
    elif sys.argv[1] == "-d":
        try:
            print decode_mc(sys.argv[2])
        except:
            print "Morse decoding failed, please check your string."
    else:
        print "Argument not recorded, don't know how to handle!"
        sys.exit(2)


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-04 22:46 
头像

注册: 2008-03-25 15:49
帖子: 25876
地址: 谁知道?
送出感谢: 8
接收感谢: 10
8错 ,emacs也能morse 可惜在下没发现支持中文 :em25 :em25 :em25


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-04 22:58 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
qkbeyond 写道:
8错 ,emacs也能morse 可惜在下没发现支持中文 :em25 :em25 :em25

中文是先转换成urlencode的 :em06


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-04 23:11 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
特殊部门滴

:em45


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-16 18:03 
头像

注册: 2006-10-18 12:57
帖子: 417
送出感谢: 0 次
接收感谢: 1
呵呵,以前玩密码得时候也背过莫尔斯密码,现在都忘了 :em06


_________________
http://twitter.com/nothining
Mail: bjdfzster@gmail.com
南京的开源活动几乎是0,希望能有人组织下(也可以拉我入伙^_^)
最近在从零开始学习Linux程序设计,加油……


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-11-27 12:38 
头像

注册: 2008-12-19 13:44
帖子: 2337
地址: 东8区
送出感谢: 0 次
接收感谢: 0 次
代码:
import sys
morcs={' ':' ','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':'_ _..'}
x=input()
for i in x:
    sys.stdout.write('{0}{1}{2}'.format('(',morcs[i],')'))


python3


_________________
代码:
 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| * 
 


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-12-11 23:06 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
英文不区分大小写。


_________________
代码:
] ls -ld //


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 莫尔斯电码转换与翻译脚本
帖子发表于 : 2009-12-11 23:32 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
代码:
def gen_mc(str):
        str = urllib.quote(str).lower()
        return " ".join([txt_morse[c] for c in str])

def decode_mc(str):
        str = "".join([morse_txt[mc] for mc in str.split(" ")])
        return urllib.unquote(str)


_________________
目前负债150多万


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译