summaryrefslogtreecommitdiff
path: root/docs/library/struct.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/library/struct.rst')
-rw-r--r--docs/library/struct.rst42
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/library/struct.rst b/docs/library/struct.rst
new file mode 100644
index 000000000..fd953473a
--- /dev/null
+++ b/docs/library/struct.rst
@@ -0,0 +1,42 @@
+:mod:`struct` -- pack and unpack primitive data types
+======================================================
+
+.. module:: struct
+ :synopsis: pack and unpack primitive data types
+
+|see_cpython_module| :mod:`cpython: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 depending
+on the floating-point support).
+
+Functions
+---------
+
+.. function:: calcsize(fmt)
+
+ Return the number of bytes needed to store the given *fmt*.
+
+.. function:: 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.
+
+.. function:: 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*.
+
+.. function:: unpack(fmt, data)
+
+ Unpack from the *data* according to the format string *fmt*.
+ The return value is a tuple of the unpacked values.
+
+.. function:: 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 *buffer*. The return
+ value is a tuple of the unpacked values.