WHCSRL 技术网

简单Python代码写ASCII解码器

#coding = utf-8
#ASCII解码器
import easygui as e    #导入easygui模块
#创建字典存储ASCII码值
ascii = {0:'NUL',1:'SOH',2:'STX',3:'ETX',4:'EOT',5:'ENQ',6:'ACK',7:'BEL',8:'BS',9:'HT',10:'LF',11:'VT',12:'FF',13:'CR',14:'SO'
,15:'SI',16:'DLE',17:'DC1',18:'DC2',19:'DC3',20:'DC4',21:'NAK',22:'SYN',23:'ETB',24:'CAN',25:'EM',26:'SUB',27:'ESC',28:'FS',
29:'GS',30:'RS',31:'US',32:'[空格]',33:'!',34:'"',35:'#',36:'$',37:'%%',38:'&',39:'‘',40:'(',41:')',42:'*',43:'+',44:',',45:'-'
,46:'.',47:'/',48:'0',49:'1',50:'2',51:'3',52:'4',53:'5',54:'6',55:'7',56:'8',57:'9',58:':',59:';',60:'<',61:'=',62:'>',63:'?'
,64:'@',65:'A',66:'B',67:'C',68:'D',69:'E',70:'F',71:'G',72:'H',73:'I',74:'J',75:'K',76:'L',77:'M',78:'N',79:'O',80:'P'
,81:'Q',82:'R',83:'S',84:'T',85:'U',86:'V',87:'W',88:'X',89:'Y',90:'Z',91:'[',92:' ',93:']',94:'^',95:'_',96:'`',97:'a'
,98:'b',99:'c',100:'d',101:'e',102:'f',103:'g',104:'h',105:'i',106:'j',107:'k',108:'l',109:'m',110:'n',111:'o',112:'p'
,113:'q',114:'r',115:'s',116:'t',117:'u',118:'v',119:'w',120:'x',121:'y',122:'z',123:'{',124:'|',125:'}',126:'~'}

def find():    #创建find方法 查找键对应的值
    while True:
        Num = int(e.enterbox('请输入0~126之间的ASCII码(整数):'))    #用户输入一个数字
        if Num > 126:
            e.msgbox('查无此值')    #若输入数字大于126 显示“查无此值”
        elif Num < 0:
            e.msgbox('查无此值')    #若输入数字小于0 显示“查无此值”
        else:
           e.msgbox(ascii[Num])   #若输入数字在0~126之间 显示结果
           break    #终止循环
find()    #调用find方法

def agian():    #创建agian方法 判断用户是否需要再次查找
    while True:
        FindAgain = e.enterbox('还需要继续查找吗?(是、否)')
        if FindAgain == '是':    #若FindAgain的值等于’是‘
            find()    #回到find方法
        elif FindAgain == '否':    #若FindAgain的值等于’否‘
            e.msgbox('点击OK或空格键关闭程序')    #引导用户关闭程序
            break    #终止循环
        else:    #若FindAgian的值为其他
            e.msgbox(msg = '请输入’是‘或’否‘!',title = '警告')
agian()    #调用agian方法

注:由于完成仓促,若代码中存在一些问题,欢迎指正!

推荐阅读