pack and unpack primitive data types
struct – pack and unpack primitive data types
This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: struct.
The following byte orders are supported:
| @ | native | native | native |
|---|---|---|---|
| < | little-endian | standard | none |
| > | big-endian | standard | none |
| ! | network (= big-endian) | standard | none |
The following data types are supported:
| b | signed char | integer | 1 |
|---|---|---|---|
| B | unsigned char | integer | 1 |
| h | short | integer | 2 |
| H | unsigned short | integer | 2 |
| i | int | integer (1) | 4 |
| I | unsigned int | integer (1) | 4 |
| l | long | integer (1) | 4 |
| L | unsigned long | integer (1) | 4 |
| q | long long | integer (1) | 8 |
| Q | unsigned long long | integer (1) | 8 |
| e | n/a (half-float) | float (2) | 2 |
| f | float | float (2) | 4 |
| d | double | float (2) | 8 |
| s | char[] | bytes | |
| P | void * | integer |
- Requires long support when used with values larger than 30 bits.
- Requires floating point support.
Difference to CPython
Whitespace is not supported in format strings.
Functions
struct.calcsize
struct.calcsize(fmt)Return the number of bytes needed to store the given fmt.
struct.pack
struct.pack(fmt, v1, v2, ...)Pack the values v1, v2, … according to the format string fmt. The return value is a bytes object encoding the values.
struct.pack_into
struct.pack_into(fmt, buffer, offset, v1, v2, ...)Pack the values v1, v2, … 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
struct.unpack(fmt, data)Unpack from the data according to the format string fmt. The return value is a tuple of the unpacked values.
struct.unpack_from
struct.unpack_from(fmt, data, offset=0, /)Unpack from the data starting at offset according to the format string fmt. offset may be negative to count from the end of data. The return value is a tuple of the unpacked values.
