python chr()、unichr()和ord()

    添加时间:2013-5-23 点击量:

    chr()、unichr()和ord()


    chr()函数用一个局限在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才参加的unichr()的参数局限依附于你的Python是如何被编译的。若是是设备为USC2的Unicode,那么它的容许局限就是range(65536)或0 x0000-0 xFFFF;若是设备为UCS4,那么这个值应当是range(1114112)或0 x000000-0 x110000。若是供给的参数不在容许的局限内,则会报一个ValueError的异常。


    ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,若是所给的Unicode字符超出了你的Python定义局限,则会激发一个TypeError的异常。


    >>> chr(50)


    2


    >>> ord(f)


    102


    >>> unichr(20013)


    u\u4e2d


    >>> print unichr(20013)



    >>> chr(20013)


    Traceback (most recent call last):


    File <stdin>, line 1, in ?


    chr(20013)


    ValueError: chr() arg not in range(256)


    >>> ord(u\u4e2d)


    Traceback (most recent call last):


    File <stdin>, line 1, in ?


    ord(u\u4e2d)


    TypeError: ord() expected a character, but string of length 2 found


    >>> ord(u\u2345)


    9029


     当所有的编码格局都无法经由过程期,可以应用unichr(ord(单个字符)).encode(utf-8)来进行编码,输出的必然是个utf-8。

    我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
    分享到: