从 python 中的二进制格式获取十六进制数据

getting hexdata back from binary format in python

我正在尝试将十六进制数据转换为二进制,然后再转换回十六进制。我正在获取十六进制数据,但作为字节对象

    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)。

只需将字节串解码为 ASCII:

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

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

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

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