从中读取特定位bitstring.BitArray

2024-04-25 21:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个位数组,想从一个位置读到另一个位置。 在for循环中有int变量长度,例如:

length = 2 我的位数组看起来像:

msgstr = bitstring.BitArray(0b11110011001111110)

然后我想读取前两位并将它们转换成int,这样我就有了: id == 3 下一轮,当长度值发生变化时,应从第三位开始,以此类推

id = bitstring.BitArray()
m = 0
while 5 != m:
   /////////////
   Length changes in value part of Code
   /////////////
   x = 0
   if m == 0:
       while length != x:
           id.append = msgstr[x] #msgstr is the BitArray that needs to be read
           x = x + 1
   m = m + 1

Tags: ofinidforvalue数组lengthint
1条回答
网友
1楼 · 发布于 2024-04-25 21:24:45

你想要的是切片。你知道吗

for i in range(0,len(msgstr),length):
    print msgstr[i:i+length].uint

这段代码会满足你的要求。它将把前两位转换成int,然后把第三位和第四位转换成int,以此类推

相关问题 更多 >