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