文本处理 - 字符和字符值之间的转换

1. 使用ord将一个字符转换为相应的ascii值
1 >>> print ord('a')
2 97
2. 使用chr将ascii值转换为相应的字符
1 >>> print chr(97)
2 a
3. 使用ord将一个unicode字符转换成相应的unicode值
1 >>> print ord(u'')
2 22909

ord接受长度为1的unicode字符串,根据机器的编码的不同,中文的unicode编码长度可能不为1,下面是另一个机器的运行结果:

1 >>> print ord(u'')
2 TypeError: ord() expected a character, but string of length 3 found

在写python代码需要使用ord处理汉字时,可以在代码头部加上

1 #!/usr/bin/env ython
2 # -*- coding: gbk -*-

gbk使用双字节编码,这样可以保证汉字使用长度为1的字符串就可以表示.

4. 使用uinchr将unicode值转换成相应的字符串
1 >>> print unichr(ord(u''))
2

还可以使用内建函数repr查看gbk编码的字符串:

1 >>> print repr(unichr(22909))
2 u'\u597d'

repr会将任何python对象转换成字符串,对大部分对象只有显示作用,没有实际的意义,比如可以使用repr将函数的名字转换成字符串用做调试:

1 #!/usr/bin/env python
2 
3 def do_something():
4     print "%s is call" % repr(do_something)
5 
6 if __name__ == '__main__':
7     do_something()

 

转载于:https://www.cnblogs.com/uzero/archive/2013/01/22/2871114.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值