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

How to grab hex value in between a bunch of zeros and convert it to decimal?

我想尝试在一堆零之间获取一个十六进制值并将其转换为十进制。这是一个示例:“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