chewarer
@chewarer

Struct. Как распаковать последовательность байт?

Хочу разобрать пакет вида \x01\x46\x00... модулем struct. Почитал скудную документацию и посмотрел немногочисленные примеры.
По отдельности распаковываются:
struct.unpack('b', '\x01')  # (1,)
struct.unpack('<h', '\x46\x00')  # (70,)

Но вместе никак не получается:
struct.unpack('bh', '\x01\x46\x00')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
error: unpack requires a string argument of length 4
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
chewarer
@chewarer Автор вопроса
Написал вопрос и тут же подобрал комбинацию:
struct.unpack('<bh', '\x01\x46\x00') # (1, 70)
Хочется все же уяснить почему без "<", ошибка, а с ним нет? Оно же и так, по умолчанию считается младшим байтом вперед.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы