gpt4 book ai didi

python - 按地址范围切片十六进制字符串

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:12 25 4
gpt4 key购买 nike

假设我有一个十六进制字符串:

EPC = '00000800031C1060EC9FBD3C00000000'

规范文档规定了字符串代表的不同字段的地址范围。例如地址范围 48h-53h(12 位),表示“代理”字段。我知道(根据经验)这代表 hexstring EPC 中的 3 个半字节“1C1”。

同样,我希望能够解码具有指定地址范围的其他字段,所以我的问题是:

如何使用规范中的地址范围信息从hexstring、EPC中提取它所代表的半字节?更具体地说,我正在寻找以下类型的函数:

def fun(addressrangeinhex,bits, hexstring):
# addressrangeinhex is 48h-53h in my example above
# hexstring is EPC string in my example above
# bits is 12 bits in my example above
return rangeofindexinhexstring

因此,在我的示例中使用该函数,我应该得到 (index=10, index=12)。

最佳答案

将它放在位串中并在那里索引:

bits = '{0:0128b}'.format(int(EPC,16))
agency = int(bits[40:52],2)

print(hex(agency)) # 1C1

关于python - 按地址范围切片十六进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com