struct -- 基本データ型のパックとアンパック

このモジュールは、該当する :term:`CPython` モジュールのサブセットを実装しています。 詳しくはオリジナルの CPython ドキュメンテーションを参照してください: struct.

サポートするサイズ/バイト順プレフィックス: @, <, >, !.

サポートする書式コード: b, B, h, H, i, I, l, L, q, Q, s, P, f, d (最後の2つは浮動小数点のサポートに依存)。

CPython との違い

フォーマット文字列中に空白文字は使えません。

関数

struct.calcsize(fmt)

指定した fmt で格納するために必要なバイト数を返します。

struct.pack(fmt, v1, v2, ...)

フォーマット文字列 fmt にしたがって、値 v1v2、... をパックします。戻り値は、値をエンコードしたバイト列オブジェクトです。

struct.pack_into(fmt, buffer, offset, v1, v2, ...)

フォーマット文字列 fmt にしたがって、値 v1v2、... をパックし、バッファ buffer の開始オフセット offset に格納します。 offset が負の場合は buffer の最後からのオフセットになります。

struct.unpack(fmt, data)

フォーマット文字列 fmt にしたがって data からアンパックします。戻り値はアンパックした値のタプルです。

struct.unpack_from(fmt, data, offset=0, /)

フォーマット文字列 fmt にしたがって "data の開始オフセット offset からアンパックします。 offset が負の場合は buffer の最後からのオフセットになります。戻り値はアンパックした値のタプルです。