我需要将看起来像b'\xa3\x13\xa4;\xcb\xda\x1b\x1b,Ut\xde\xeb2\xb5\x84\xe5&\x85;'
的原始二进制值解码为十六进制值,然后看起来像0x90D152B5ED57E00336FD8E106A7BCE28FC3EA588
。
我尝试使用raw_bin.decode(“ hex”),但这告诉我使用codecs.decode()
,但是我迷路了。
如何在python中将b'\xa3\x13\xa4;\xcb\xda\x1b\x1b,Ut\xde\xeb2\xb5\x84\xe5&\x85;'
解码为0x90D152B5ED57E00336FD8E106A7BCE28FC3EA588
?
最佳答案
>>> x = b'\xa3\x13\xa4;\xcb\xda\x1b\x1b,Ut\xde\xeb2\xb5\x84\xe5&\x85;'
>>> binascii.hexlify(x).decode()
'a313a43bcbda1b1b2c5574deeb32b584e526853b'
使用
int
和base
参数将其转换为数字16:>>> int(binascii.hexlify(x), 16)
931003516565576134942949873523045876335469036859
>>> int(binascii.hexlify(x), 16) == 0xa313a43bcbda1b1b2c5574deeb32b584e526853b
True