У меня есть двоичный файл, который я читаю, где некоторые 2-байтовые значения хранятся в «обратном» порядке байтов (little-endian?), Например.
1D 00 13 00 27 00 3B 00 45 00 31 00 4F
Исходная программа, которая создала эти значенияхранит их внутри как шорты.Эти значения должны соответствовать: 29, 19, 39, 59, 69, 49, 79. Я пытаюсь прочитать эти значения, используя python 2.6.5 (хотя это, вероятно, будет работать на гораздо более старых системах, например, 2.3 и 2.4)..
Я пытался использовать
val1, val2, val3, val4, val5, val6, val7 = struct.unpack("1h 1h 1h 1h 1h 1h 1h", data)
и, конечно, все значения неверны:
7427
4864
9984
15104
17664
12544
20224
После просмотра документации для структуры,Я думал, что смогу использовать что-то вроде
val1, ... = struct.unpack("!h !h ...
, но при тестировании я получил только
struct.error: bad char in struct format
Как мне распаковать эти значения с правильным порядком байтов?Я застрял, читая два байта отдельно, а затем снова собирал их в коде Python?