如何在一堆零之间抓取十六进制值并将其转换为十进制?



我想尝试在一堆零之间抓取十六进制值并将其转换为十进制。这里有一个示例:'00000000002E3706400000'。所以我只想抓取"2E37064",而忽略它周围的其他东西。我知道使用int()函数将其转换为十进制,但是当我这样做时,它包含了实际十六进制值后面的前导零。下面是我的代码示例:

hex_val = '00000000002E3706400000'
dec_val = int(hex_val, 16)
print(dec_val)

然后输出:

50813862936576

实际值是:

48459876

是否有最优的方法来实现这一点?

您可以使用.strip()函数来删除前导零和尾部零(尽管从技术上讲,这里不需要删除前导零):

int(hex_val.strip('0'), 16)

这个输出:

48459876

最新更新