如何从长hexstring创buildpython字节对象?

我在一个string中有很长的hex数字序列,比如

000000000000484240FA063DE5D0B744ADBED63A81FAEA390000C8428640A43D5005BD44

只有更长的,几千字节。 有没有一种内置的方式来将其转换为Python 2.6 / 3中的字节对象?

适用于Python 2.7及更高版本,包括python3:

result = bytearray.fromhex('deadbeef') 

注意: Python 2.6中的bytearray.fromhex()函数似乎存在一个错误。 python.org文档声明该函数接受一个string作为参数,但是当应用时,会引发以下错误:

 >>> bytearray.fromhex('B9 01EF') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: fromhex() argument 1 must be unicode, not str` 

你可以用hex编解码器来做到这一点。 即:

 >>> s='000000000000484240FA063DE5D0B744ADBED63A81FAEA390000C8428640A43D5005BD44' >>> s.decode('hex') '\x00\x00\x00\x00\x00\x00HB@\xfa\x06=\xe5\xd0\xb7D\xad\xbe\xd6:\x81\xfa\xea9\x00\x00\xc8B\x86@\xa4=P\x05\xbdD' 
 result = bytes.fromhex(some_hex_string) 

尝试binascii模块

 from binascii import unhexlify b = unhexlify(myhexstr) 
 import binascii binascii.b2a_hex(obj)