请教:如何打印出字符串中的每个字符的16进制值?

请教:如何打印出字符串中的每个字符的16进制值?

如下面的串
    '01234'
如何打印出
    0x30 0x31 0x32 0x33 0x34

在下新手请多帮助
已得到答案,谢谢关注
知道了也发一下啊,让不知道的人也知道,我的方法是echo 01234|xxd -i,不知道有没有更好的。如果要去掉“,”的话可以用echo 01234|xxd -i|sed -e 's/,//g'


[Copy to clipboard] [ - ]
CODE:
import binascii
>>> binascii.b2a_hex('0123')
'30313233'
>>>

但是怎么打印出0x就不晓得嗒
>>> print ' '.join(['0x%2x' % ord(x) for x in a])
0x30 0x31 0x32 0x33 0x34
不好意思。
我以为问题太初级大家都知道了呢。
楼上答的差不多了,关键是ord函数

答案如下
py> a='01234'
py> for c in a:
...   print "%#x" % ord(c),
...
0x30 0x31 0x32 0x33 0x34
py>


QUOTE:
原帖由 mike20030405 于 2007-6-6 01:09 发表
不好意思。
我以为问题太初级大家都知道了呢。
楼上答的差不多了,关键是ord函数
...

print ' '.join(map(lambda x:hex(ord(x)), '01234'))