struct – Manipulation of c-style data — Adafruit CircuitPython 1 documentation (original) (raw)

This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: cpython:struct.

Supported size/byte order prefixes: @, <_, _>, !.

Supported format codes: b, B, x, h, H, i, I, l, L, q, Q,s, P, f, d (the latter 2 depending on the floating-point support).

Available on these boards

struct.calcsize(fmt: str) → int

Return the number of bytes needed to store the given fmt.

struct.pack(fmt: str, *values: Any) → bytes

Pack the values according to the format string fmt. The return value is a bytes object encoding the values.

struct.pack_into(fmt: str, buffer: circuitpython_typing.WriteableBuffer, offset: int, *values: Any) → None

Pack the values according to the format string fmt into a buffer starting at offset. offset may be negative to count from the end of buffer.

struct.unpack(fmt: str, data: circuitpython_typing.ReadableBuffer) → Tuple[Any, Ellipsis]

Unpack from the data according to the format string fmt. The return value is a tuple of the unpacked values. The buffer size must match the size required by the format.

struct.unpack_from(fmt: str, data: circuitpython_typing.ReadableBuffer, offset: int = 0) → Tuple[Any, Ellipsis]

Unpack from the data starting at offset according to the format string fmt. offset may be negative to count from the end of buffer. The return value is a tuple of the unpacked values. The buffer size must be at least as big as the size required by the form.