`

Python Cookbook 1.2 字符与数字的相互转换

阅读更多
问题:
需要把一个字符(ASCII或Unicode)转换为数字编码,或者转过来

解决方法:
对于ASCII字符,可以使用内建的ord和chr方法实现需求:

>>> chr(97)
'a'
>>> ord('a')
97

对于Unicode字符,需要使用ord和repr,获得unicode字符的方法,使用unichr:

>>> print ord(u'\u2020')
8224
>>> print repr(unichr(8224))
u'\u2020'

相关说明:

注意chr(n) 与 str(n)的区别:
>>> print repr(chr(97))
'a'
>>> print repr(str(97))
'97'

built-in map函数,参数为ord和字符串:
>>> print map(ord, 'ciao')
[99, 105, 97, 111]

用''.join, map 和 chr 的例子
>>> print ''.join(map(chr, range(97, 100)))
abc


下面是python中对这几个方法的简单说明:

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

chr(...)
    chr(i) -> character
   
    Return a string of one character with ordinal i; 0 <= i < 256.

repr(...)
    repr(object) -> string
   
    Return the canonical string representation of the object.
    For most object types, eval(repr(object)) == object.

unichr(...)
    unichr(i) -> Unicode character
   
    Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics