import struct;
s = "\x04\x9E\x00\x00\x00\x36\x00\x00\x00";
print struct.unpack('cLL', s);
Ошибка:
struct.error: unpack requires a string argument of length 24
Зачем ему нужно 24 символа? Если c - 1 байт, L - 4 байта. Итого 9 байт. Ровно столько и содержит символов строка s.
В тоже время на православном Perl всё работает.
use Data::Dumper;
$str = "\x04\x9E\x00\x00\x00\x36\x00\x00\x00";
print Dumper(unpack('cLL', $str));
Что я сделал неправильно?