ustruct-Packing and unpacking primitive data types
This module implements a subset of the corresponding CPython
module, as described below. For more information, please refer to the original CPython documentation: struct.
Supported size/byte order prefixes: @
, <
, >
, !
.
Supported format codes: b
, B
, h
, H
, i
, I
, l
, L
, q
, Q
, s
, P
, f
, d
(the latter 2 depends on floating point support).
Function
calcsize
ustruct.calcsize(fmt)
Returns the number of bytes required to store the given fmt
.
pack
ustruct.pack(fmt, v1, v2, ...)
Pack the values v1
, v2
, ...
according to the format string fmt
. The return value is a bytes object of the encoded value.
pack_into
ustruct.pack_into(fmt, buffer, offset, v1, v2, ...)
According to the format string fmt
, the values v1
, v2
, ...
are packed into a buffer starting from offset. Counting from the end of the buffer may be negative.
unpack
ustruct.unpack(fmt, data)
Unpack from data
according to the format string fmt
. The return value is a tuple of decompressed values.
unpack_from
ustruct.unpack_from(fmt, data, offset=0)
According to the format string fmt
starts from offset
and unpacks from data
. offset
may be a negative number, counting from the end of the buffer. The return value is a tuple of decompressed values.