擅长:python、mysql、java
<pre><code>>>> import binascii
>>> binary = binascii.unhexlify("d131dd02c5")
>>> binary
'\xd11\xdd\x02\xc5'
</code></pre>
<p><a href="http://docs.python.org/library/binascii#binascii.a2b_hex" rel="nofollow">^{<cd1>}</a>在<a href="http://hg.python.org/cpython/file/2.7/Modules/binascii.c#l1117" rel="nofollow">^{<cd2>}</a>中定义。下面是Python中的“接近C”实现:</p>
^{pr2}$
<p>如果没有<code>binascii.unhexlify()</code>或<code>bytearray.fromhex()</code>或{<cd5>}或类似内容,则可以写如下:</p>
<pre><code>def unhexlify(s, table={"%02x" % i: chr(i) for i in range(0x100)}):
if len(s) % 2 != 0:
raise TypeError("Odd-length string")
try:
return ''.join(table[top+bot] for top, bot in zip(*[iter(s.lower())]*2))
except KeyError, e:
raise TypeError("Non-hexadecimal digit found: %s" % e)
</code></pre>