将二进制字符串转换为十六进制字符串并保持其前导零

时间:2015-05-09 17:51:58

标签: python string binary hex

我是否知道如何编写Python脚本以将二进制字符串转换为十六进制字符串并保留前导零?

例如,我有二进制字符串"0000000000001010",并希望将其打印到"000A"。我知道我可以使用zfill()函数,但前导零的数量是未知的。

1 个答案:

答案 0 :(得分:4)

只需将位数除以4:

>>> bits = "0000000000001010"
>>> '{:0{}X}'.format(int(bits, 2), len(bits) // 4)
'000A'