如何从bytearray切片中获取整数?

时间:2014-02-10 06:07:21

标签: python python-3.3

我需要从位置x的bytearray中获取两个字节的整数。这样做的最佳方式是什么?

我认为以下内容可行:

>>> a = bytearray((1, 1, 1))
>>> int.from_bytes(a[1:2], 'little')
1

但我预计32896(即1000000010000000)或者如果我将我的字节顺序混淆:257(即0000000100000001)。但不是1!

2 个答案:

答案 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')

:)