如何将原始二进制解码为十六进制



我需要解码一个看起来像b'xa3x13xa4;xcbxdax1bx1b,Utxdexeb2xb5x84xe5&x85;'的原始二进制值到一个十六进制值,然后看起来像0x90D152B5ED57E00336FD8E106A7BCE28FC3EA588

我尝试使用raw_bin.decode("hex"(,但这告诉我使用codecs.decode(),但我迷路了。

如何在 python 中将b'xa3x13xa4;xcbxdax1bx1b,Utxdexeb2xb5x84xe5&x85;'解码为0x90D152B5ED57E00336FD8E106A7BCE28FC3EA588

使用 binascii.hexlify

>>> x = b'xa3x13xa4;xcbxdax1bx1b,Utxdexeb2xb5x84xe5&x85;'
>>> binascii.hexlify(x).decode()
'a313a43bcbda1b1b2c5574deeb32b584e526853b'
使用参数为

16 的 int将其转换为数字base

>>> int(binascii.hexlify(x), 16)
931003516565576134942949873523045876335469036859
>>> int(binascii.hexlify(x), 16) == 0xa313a43bcbda1b1b2c5574deeb32b584e526853b
True

最新更新