struct
-- 基本データ型のパックとアンパック¶
このモジュールは、該当する CPython モジュールのサブセットを実装しています。
詳しくはオリジナルの CPython ドキュメンテーションを参照してください: struct
.
次のバイト順をサポートしています:
文字 | バイト順 | サイズ | アライメント |
---|---|---|---|
@ | ネイティブ | ネイティブ | ネイティブ |
< | リトルエンディアン | 標準 | none |
> | ビッグエンディアン | 標準 | none |
! | ネットワーク(= ビッグエンディアン) | 標準 | none |
次のデータ型をサポートしています:
フォーマット | C 型 | Python 型 | 標準サイズ |
---|---|---|---|
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 |
f | float | float (2) | 4 |
d | double | float (2) | 8 |
s | char[] | bytes | |
P | void * | integer |
- 30ビット以上の値で使う場合は long のサポートが必要です。
- 浮動小数点のサポートが必要です。
CPython との違い
フォーマット文字列中に空白文字は使えません。
関数¶
-
struct.
calcsize
(fmt)¶ 指定した fmt で格納するために必要なバイト数を返します。
-
struct.
pack
(fmt, v1, v2, ...)¶ フォーマット文字列 fmt にしたがって、値 v1、v2、... をパックします。戻り値は、値をエンコードしたバイト列オブジェクトです。
-
struct.
pack_into
(fmt, buffer, offset, v1, v2, ...)¶ フォーマット文字列 fmt にしたがって、値 v1、v2、... をパックし、バッファ buffer の開始オフセット offset に格納します。 offset が負の場合は buffer の最後からのオフセットになります。
-
struct.
unpack
(fmt, data)¶ フォーマット文字列 fmt にしたがって data からアンパックします。戻り値はアンパックした値のタプルです。
-
struct.
unpack_from
(fmt, data, offset=0, /)¶ フォーマット文字列 fmt にしたがって "data の開始オフセット offset からアンパックします。 offset が負の場合は data の最後からのオフセットになります。戻り値はアンパックした値のタプルです。