| ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|---|
ustruct -- バイナリデータのパックとアンパック¶
このモジュールは、Pythonの値とCのようなデータ構造体との変換を行う関数を提供します。
- calcsize(format: str) int¶
フォーマット文字列に対応するデータサイズを取得します。
- パラメータ:
format (str) -- データフォーマット文字列。
- 戻り値:
このフォーマットを表現するために必要なバイト数。
- pack(format, value1, value2, ...)¶
指定したフォーマットを使って値をパックします。
- パラメータ:
format (str) -- データフォーマット文字列。
- 戻り値:
バイト列にエンコードしたデータ。
- pack_into(format, buffer, offset, value1, value2, ...)¶
指定したフォーマットで値をエンコードし、指定したバッファに書き込みます。
- unpack(format, data) Tuple¶
指定したフォーマットを使ってバイナリデータをデコードします。
- unpack_from(format, data, offset) Tuple¶
指定したフォーマットでバッファからバイナリデータをデコードします。
以下のバイトオーダーがサポートされています:
文字 |
バイトオーダ |
Size |
アライメント |
|---|---|---|---|
@ |
ネイティブ |
ネイティブ |
ネイティブ |
< |
リトルエンディアン |
標準 |
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 |
4 |
I |
unsigned int |
integer |
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 |
4 |
d |
double |
float |
8 |
s |
char[] |
bytes |
|
P |
void * |
integer |
(1) 最大 +/-1073741823 の値をサポートします