在python中从二进制格式获取hexdata

时间:2015-02-12 10:03:01

标签: python hex binary-data

我试图将hexdata转换为二进制,然后再转换为十六进制。我得到了hexdata但是作为字节对象

    hexdata='91278c4bfb3cbb95ffddc668d995bfe0'
    b=binascii.a2b_hex(hexdata)
    print (b)
    b"\x91'\x8cK\xfb<\xbb\x95\xff\xdd\xc6h\xd9\x95\xbf\xe0"
    binascii.b2a_hex(b)
    b'91278c4bfb3cbb95ffddc668d995bfe0'

我希望这是一个简单的字符串(我的输入,即hexstring),我可以在我的代码中使用。

2 个答案:

答案 0 :(得分:1)

将字节串解码为ASCII:

binascii.b2a_hex(b).decode('ASCII')

由于十六进制数字仅限于字符0-9和a-f。

答案 1 :(得分:0)

您可以尝试使用以下代码:

hexa = '91278c4bfb3cbb95ffddc668d995bfe0'
binary = bin(int(hexa, 16))[2:]
print binary
hexa_dec = hex(int(binary, 2))[2:]
print hexa_dec