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

use*_*399 1 python string binary hex

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

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

Ste*_*ann 5

只需将位数除以 4:

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