python将字符串转成16进制的ASCii码的值

15146阅读 0评论2011-08-24 jian_g_
分类:

python将字符串转成16进制的ASCii码的值
2007-08-09 09:31
from python mail-list chinese
> 出来是字符串,可是因为里面有特殊字符,不能够很好的打印了,原字符串如下:
> '\x00\x91\xe2\xbe\xf1\x00\x04\xc4\x94\xba\xf7\xa2\x11\xf7\x11f\xe4A\x1c\xcc­'
> 想转换为
> '0091E2BEF10004C494BAF7A211F71166E4411CCC'打印出来应该如何做?谢谢。

>>> a= '\x00\x91\xe2\xbe\xf1\x00\x04\xc4\x94\xba\xf7\xa2\x11\xf7\x11f\xe4A\x1c\xcc­'
>>> import binascii
>>> binascii.b2a_hex(a)
'0091e2bef10004c494baf7a211f71166e4411ccc'
 
 
另外还有一个比较有用的python 内置函数repr, 它可以将非ascii码转换成\x**的样式,如下:
>>> a='我们爱中国共产党'
>>> print repr(a)
'\xe6\x88\x91\xe4\xbb\xac\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd\xe5\x85\xb1\xe4\xba\xa7\xe5\x85\x9a'
>>>

上一篇:异或操作的妙用
下一篇:Python模块之: configobj, 操作ini文件