Сообщить об ошибке.

Модуль struct, структуры C в Python

Преобразования между типами Python и двоичными данными

Модуль struct выполняет преобразования между значениями Python и структурами языка C, представленными в виде байтовых объектов Python. Это может быть использовано при обработке двоичных данных, хранящихся в файлах, из сетевых подключений или среди других источников. Модуль использует формат строки в качестве компактного описания структур языка C и предполагаемого преобразования в/из значений Python.

Примечание. По умолчанию результат упаковки заданной структуры языка C включает байты заполнителя, чтобы обеспечить правильное выравнивание для задействованных типов C. Аналогично, выравнивание учитывается при распаковке. Это поведение выбрано так, что байты упакованной структуры точно соответствуют расположению в памяти соответствующей структуры языка C. Чтобы обрабатывать независимые от платформы форматы данных или опускать неявные байты, используйте стандартный размер и выравнивание вместо собственного размера и выравнивания. Смотрите раздел "Порядок байтов, размер и выравнивание".

Некоторые функции модуля struct и методы класса struct.Struct() принимают аргумент буфера. Это относится к объектам, которые реализуют протокол буфера и предоставляют либо читаемый, либо доступный для чтения буфер. Наиболее распространенными типами, используемыми для этой цели, являются байты и массив байтов. Многие другие типы, которые можно рассматривать как массив байтов, реализуют протокол буфера, так что их можно читать/записывать без дополнительного копирования из объекта байтов.