2014-02-10 5 views
0

Мне нужно получить целое число из двух байтов в bytearray из положения x. Каков наилучший способ сделать это?Как получить целое число из ломтика bytearray?

Я думал, что следующее будет работать:

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

Но я ожидал 32896 (т.е. 1000000010000000) Или, если у меня есть мой порядок байт смешалось: 257 (т.е. 0000000100000001). Но не 1!

ответ

3

a[1:2] только один байт (длина 1)

вы имели в виду a[0:2] или a[1:3] возможно?

Континентальность не имеет значения, так как все байты одинаковы. Результат должен быть 257

+0

дух! им такой noob! Я имел в виду [1: 3], спасибо. Также вы бы сказали, что это лучший способ сделать то, что я делаю? – markmnl

0
In [9]: a[1:2] 
Out[9]: bytearray(b'\x01') 


In [11]: a[:2] 
Out[11]: bytearray(b'\x01\x01') 

:)

Смежные вопросы