我需要从位置x的bytearray
中获取两个字节的整数。这样做的最佳方式是什么?
我认为以下内容可行:
>>> a = bytearray((1, 1, 1))
>>> int.from_bytes(a[1:2], 'little')
1
但我预计32896(即1000000010000000)或者如果我将我的字节顺序混淆:257(即0000000100000001)。但不是1!
答案 0 :(得分:3)
a[1:2]
只是一个字节(长度为1)
您的意思是a[0:2]
还是a[1:3]
?
字节顺序无关紧要,因为所有字节都相同。结果应该是257
答案 1 :(得分:0)
In [9]: a[1:2]
Out[9]: bytearray(b'\x01')
In [11]: a[:2]
Out[11]: bytearray(b'\x01\x01')
:)