PyDocs

Binary Data Services

struct

Functions to convert between Python values and C structs.
Python bytes objects are used to hold the data representing the C struct.
The format string (explained below) describes the layout of data
in the C struct.

The optional first format char indicates byte order, size and alignment:
  @: native order, size & alignment (default)
  =: native order, std. size & alignment
  <: little-endian, std. size & alignment
  >: big-endian, std. size & alignment
  !: same as >

The remaining characters indicate types of args and must match exactly;
these can be preceded by a decimal repeat count:
  x: pad byte (no data); c: char; b: signed byte; B: unsigned byte;
  ?: _Bool; h: short; H: unsigned short; i: int; I: unsigned int;
  l: long; L: unsigned long; q: long long; Q: unsigned long long;
  f: float; d: double; e: half-float;
  F: float complex; D: double complex.
Special cases (preceding decimal count indicates length):
  s: byte string (array of char); p: Pascal string (with count byte).
Special cases (only available in native format):
  n: ssize_t; N: size_t;
  P: an integer type that is wide enough to hold a pointer.
Whitespace between formats is ignored.

The variable struct.error is an exception raised on errors.
Symbols in struct

c

calcsize
Return size in bytes of the struct described by the format string.

e

error
Exception raised on various occasions; argument is a string describing what is wrong.

i

iter_unpack
Return an iterator yielding tuples unpacked from the given bytes.

p

pack
Pack values and return the packed bytes.
pack_into
Pack values and write the packed bytes into the buffer.

s

Struct
Create a compiled struct object.

u

unpack
Return a tuple containing values unpacked according to the format string.
unpack_from
Return a tuple containing values unpacked according to the format string.