我有两个十六进制值(以字符串形式提供):
00000000fe000000< - 高阶32位
000000000001009f< - 低阶32位
它们需要组合成一个值,理想情况下 - 方便地像值[0:15]一样处理(返回0到15位,从右到左)。
在Python中执行此操作的最佳方法是什么?
答案 0 :(得分:1)
有两个整数,你只需使用位移和|
:
high = 0x00000000fe000000
low = 0x000000000001009f
result = (high << 32) | low
对于任何其他输入,我建议先将它们转换为int
,然后将结果转换回您想要的任何形式。
要检索原始片段,请反向使用位移
high = result >> 32
带有适当掩码的和&
:
low = result & 0xffffffff