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

Convert binary string to hex string and keep its leading zeros

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

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

只需将位数除以 4:

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