struct¶
Структура
-
struct.
unpack
(format, data)¶ Распаковывает данные из структуры
# два целых 4х байтовые числа прямого порядка unpack('>LL', b'\x00\x00\x00\x9a\x00\x00\x00\x8d') # (154, 141) # два целых 4х байтовые числа прямого порядка unpack('>2L', b'\x00\x00\x00\x9a\x00\x00\x00\x8d') # (154, 141) # два целых 4х байтовые числа прямого порядка, пропустив 1 и 2 байта по краям unpack('>1x2L2x', b'\x00\x00\x00\x00\x9a\x00\x00\x00\x8d\x00\x00') # (154, 141)
-
struct.
pack
(format, data)¶ Пакует данные в структуру
pack('>L', 154) # b'\x00\x00\x00\x9a' pack('>L', 141) # b'\x00\x00\x00\x8d'
Спецификаторы¶
> - прямой порядок
< - обратный порядок
x - пропустить один байт
b - знаковый один байт
B - беззнаковый байт
h - знаковое короткое целое число, 2 байта
H - беззнаковое короткое целое число, 2 байта
i - знаковое целое число, 4 байта
I - беззнаковое целое число, 4 байта
l - знаковое длинное целое число, 4 байта
L - беззнаковое длинное целое число, 4 байта
Q - беззнаковое очень длинное целое число, 8 байт
f - число с плавающей точкой, 4 байта
d - число с плавающей точкой двойной точности, 8 байт
p - счетчик и символы, 1 + count байт
s - символы, count символов