chr python用法_使用Python内建chr, ord实现的简单的加/解密

###Python中有两个个内建方法,用于解决0-255与相应ascii码转换:

chr()

Return a string of one character with ordinal i; 0 <= i < 256.

也就是,返回代表整数范围内0-255对应的字符。

ord()

Return the integer ordinal of a one-character string.

与chr刚好相反,返回一个字符对应的整数。

code = uncode = {}

for c in (65, 97):

for i in range(26):

code[chr(i+c)] = chr((i+8) % 26 +c)

uncode[chr(i+c)] = chr((i+18) % 26 +c)

s = 'alazyer'

print ''.join([code.get(c) for c in s]) # output: itihgmz

print ''.join([uncode.get(c) for c in 'itihgmz']) # output: alazyer

方法很简单,在循环中,将26个英文字符的大小写,向后移动了8个字符作为密码方法code中,

向后移动18个作为解密密码方法uncode中。如果想加密一个字符串的话,使用code.get(c);

解密的话使用uncode.get(c)。

在Python的this.py中有这样一句:d.get(c, c),

当c不在加密密码中时,使用本身代替,这样实现了对标点符号等的支持。

s = "I love China!"

print ''.join([code.get(c, c) for c in s]) # output: Q twdm Kpqvi!

print ''.join([code.get(c, c) for c in 'Q twdm Kpqvi!']) # output: I love China!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值