❮ PHP その他のリファレンス
例
データをバイナリ文字列にパックします。
<?php
echo pack("C3",80,72,80);
?>
自分で試してみる »
定義と使用法
pack() 関数は、データをバイナリ文字列にパックします。
構文
pack(format,args+)
パラメータ値
パラメータ |
説明 |
フォーマット |
必要。データをパックするときに使用する形式を指定します。 可能な値:
- a - NUL で埋められた文字列
- A - スペースで埋められた文字列
- h - 16 進文字列、下位ニブルが最初
- H - 16 進文字列、上位ニブルが最初
- c - 署名された文字
- C - 符号なし文字
- s - signed short (常に 16 ビット、マシン バイト オーダー)
- S - unsigned short (常に 16 ビット、マシン バイト オーダー)
- n - unsigned short (常に 16 ビット、ビッグ エンディアンのバイト順)
- v - unsigned short (常に 16 ビット、リトルエンディアンのバイト順)
- i - 符号付き整数 (マシンに依存するサイズとバイト順)
- I - 符号なし整数 (マシンに依存するサイズとバイト順)
- l - signed long (常に 32 ビット、マシン バイト オーダー)
- L - unsigned long (常に 32 ビット、マシン バイト オーダー)
- N - unsigned long (常に 32 ビット、ビッグ エンディアンのバイト順)
- V - unsigned long (常に 32 ビット、リトルエンディアンのバイト順)
- q - signed long long (常に 64 ビット、マシン バイト オーダー)
- Q - unsigned long long (常に 64 ビット、マシン バイト オーダー)
- J - unsigned long long (常に 64 ビット、ビッグ エンディアンのバイト順)
- P - unsigned long long (常に 64 ビット、リトルエンディアンのバイト順)
- f - float (マシンに依存するサイズと表現)
- g - float (マシンに依存するサイズ、リトルエンディアンのバイト順)
- G - float (マシンに依存するサイズ、ビッグ エンディアンのバイト順)
- d - double (マシンに依存するサイズと表現)
- e - double (マシンに依存するサイズ、リトルエンディアンのバイト順)
- E - double (マシンに依存するサイズ、ビッグ エンディアンのバイト順)
- x - NUL バイト
- X - 1 バイトのバックアップ
- Z - NUL で埋められた文字列
- @ - 絶対位置への NUL フィル
|
引数+ |
オプション。パックする 1 つ以上の引数を指定します |
技術的な詳細
戻り値: |
バイナリ文字列でデータを返します |
PHP バージョン: |
4+ |
変更ログ: |
PHP 7.2 - float と double は、ビッグ エンディアンとスモール エンディアンの両方をサポートするようになりました。
PHP 7.0.15 - 「E」、「e」、「G」、「g」コードが追加されました。
PHP 5.6.3 - 「Q」、 「q」「J」「P」コードを追加しました。
PHP 5.5 - 「Z」コードが追加されました (Perl 互換性のために "a" と同じ機能を保持します)。 |
その他の例
例
データをバイナリ文字列にパックします。
<?php
echo pack("C*",80,72,80);
?>
自分で試してみる »
❮ PHP その他のリファレンス