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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值