我有一个Bitarray,想要从某个位置读到另一个位置。 我在for循环中有int变量长度,所以例如我有:
length = 2
而我的Bitarray看起来像是:
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
答案 0 :(得分:0)
这里你想要的是切片。
for i in range(0,len(msgstr),length):
print msgstr[i:i+length].uint
此代码可以满足您的要求。它将取前两位并将它们转换为int,然后取第三和第四位并将它们转换为int等。