2016-04-22 15:35:31 -04:00
|
|
|
:mod:`ustruct` -- pack and unpack primitive data types
|
|
|
|
======================================================
|
2014-11-02 18:37:02 -05:00
|
|
|
|
2016-04-22 15:35:31 -04:00
|
|
|
.. module:: ustruct
|
2014-11-02 18:37:02 -05:00
|
|
|
:synopsis: pack and unpack primitive data types
|
|
|
|
|
2017-07-02 08:37:31 -04:00
|
|
|
|see_cpython_module| :mod:`python:struct`.
|
2014-11-02 18:37:02 -05:00
|
|
|
|
2016-05-14 13:48:43 -04:00
|
|
|
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 depending
|
|
|
|
on the floating-point support).
|
|
|
|
|
2019-08-05 07:09:14 -04:00
|
|
|
.. admonition:: Difference to CPython
|
|
|
|
:class: attention
|
|
|
|
|
|
|
|
Whitespace is not supported in format strings.
|
|
|
|
|
2014-11-02 18:37:02 -05:00
|
|
|
Functions
|
|
|
|
---------
|
|
|
|
|
|
|
|
.. function:: calcsize(fmt)
|
|
|
|
|
2017-06-29 17:34:52 -04:00
|
|
|
Return the number of bytes needed to store the given *fmt*.
|
2014-11-02 18:37:02 -05:00
|
|
|
|
|
|
|
.. function:: pack(fmt, v1, v2, ...)
|
|
|
|
|
2017-06-29 17:34:52 -04:00
|
|
|
Pack the values *v1*, *v2*, ... according to the format string *fmt*.
|
2014-11-02 18:37:02 -05:00
|
|
|
The return value is a bytes object encoding the values.
|
|
|
|
|
2016-05-01 06:17:07 -04:00
|
|
|
.. function:: pack_into(fmt, buffer, offset, v1, v2, ...)
|
|
|
|
|
2017-06-29 17:34:52 -04:00
|
|
|
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*.
|
2016-05-01 06:17:07 -04:00
|
|
|
|
2014-11-02 18:37:02 -05:00
|
|
|
.. function:: unpack(fmt, data)
|
|
|
|
|
2017-06-29 17:34:52 -04:00
|
|
|
Unpack from the *data* according to the format string *fmt*.
|
2014-11-02 18:37:02 -05:00
|
|
|
The return value is a tuple of the unpacked values.
|
2016-05-01 06:17:07 -04:00
|
|
|
|
2020-01-11 01:44:17 -05:00
|
|
|
.. function:: unpack_from(fmt, data, offset=0, /)
|
2016-05-01 06:17:07 -04:00
|
|
|
|
2017-06-29 17:34:52 -04:00
|
|
|
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
|
2016-05-01 06:17:07 -04:00
|
|
|
value is a tuple of the unpacked values.
|