通过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