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

来源:互联网 发布:qq输入法mac版 编辑:程序博客网 时间:2024/05/18 03:50

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

0 0
原创粉丝点击