Python的chr()、unichr()、ord()

通过help 查看相关函数的帮助文档

help (chr)

chr(…)

chr(i) -> character    

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

参数是0 - 256 的一个整数,返回值是当前整数对应的ascii字符。参数可以是10进制也可以是16进制的形式

print chr(0x30), chr(0x31), chr(0x61)
0 1 a
print chr(48), chr(49), chr(97)
0 1 a

unichr(…)

unichr(i) -> Unicode character    
Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.

unichr()和chr()函数功能基本一样, 只不过是返回unicode的字符。这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的。如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF;如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x110000。如果提供的参数不在允许的范围内,则会报一个ValueError的异常。

ord(…)
ord(c) -> integer
Return the integer ordinal of a one-character string.

它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值

print ord(‘a’), ord(‘0’), ord(‘1’)
97 48 49
print “%x %x %x” % (ord(‘a’), ord(‘0’), ord(‘1’))
61 30 31
print “%#x %#x %#x” % (ord(‘a’), ord(‘0’), ord(‘1’))
0x61 0x30 0x31

通过chr()和ord()联合起来使用,我们就可以对字符串进行相关运算的转换
比如一个字符串str1,转化成另一个字符串str2, 使得 str2[i] = str1[i] - i

str1 = “eb;3ej8h”

for i in range(0, len(str1)):
… print chr((ord(str1[i])-i)),

e a 9 0 a e 2 a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值