定義と使用法
unpack()
関数は、バイナリ文字列からデータを開梱します。
例
例1
バイナリ文字列からのデータを展開します。
<?php
$ data = "php" ;
print_r ( unpack ( "c*" 、 $ data ) ) ;
?>
自分で試してみてください
例2
データの開梱:
<?php
$ data = "php" ;
print_r ( unpack ( "c*myint" 、 $ data ) ) ;
?>
自分で試してみてください
例3
データの開梱:
<?php
$ bin = pack ( " c2n2 " 、 0x1234、0x5678、65、66 ) ;
print_r ( unpack ( "c2chars/n2int" 、 $ bin ) ) ;
?>
自分で試してみてください
文法
編集(フォーマット、データ、オフセット)
パラメーター |
説明する |
形式 |
必須。データを開梱するときに使用される形式を指定します。 |
データ |
オプション。開梱するバイナリデータを指定します。 |
オフセット |
オプション。開梱を開始する場所を指定します。デフォルトは0です。 |
フォーマットパラメーターの可能な値:
- A -NULパッド文字列
- A-スペースパッド文字列
- H -HEX弦、前の低いニブル
- H-ヘックスストリング、前に高いニブル
- C-署名された文字
- C-署名されていない文字
- S-署名された短い整数(常に16ビット、マシンバイトオーダー)
- S-署名されていない短い整数(常に16ビット、マシンバイト順序)
- n-署名されていない短い整数(常に16ビット、ビッグエンディアンバイト順序)
- V-署名されていない短い整数(常に16ビット、リトルエンディアンバイト順序)
- i-署名された整数(機械関連のサイズとバイトの順序)
- i-署名されていない整数(機械関連のサイズとバイトの順序)
- L-署名された長い整数(常に32ビット、マシンバイト順序)
- L-署名されていない長い整数(常に32ビット、マシンバイト順序)
- n-署名されていない長い整数(常に32ビット、ビッグエンディアンバイト順序)
- V-署名されていない長い整数(常に32ビット、リトルエンディアンバイト順序)
- Q-署名された長い整数(常に64ビット、マシンバイト順序)
- Q-署名されていない長い整数(常に64ビット、マシンバイト順序)
- J-署名されていない長い整数(常に64ビット、ビッグエンディアンバイト順序)
- P-署名されていない長い整数(常に64ビット、リトルエンディアンバイト順序)
- f-フローティングポイント番号(機械関連のサイズと表現)
- G-浮動小数点数(機械関連のサイズ、リトルエンディアンバイト順序)
- g-浮動小数点数(機械関連のサイズ、ビッグエンディアンバイト順序)
- D-二重精度の浮動小数点数(機械関連のサイズと表現)
- E-二重精度の浮動小数点数(機械関連のサイズ、リトルエンディアンバイト順序)
- e-二重精度の浮動小数点数(機械関連のサイズ、ビッグエンディアンバイトの順序)
- x -nulバイト
- X- 1つのバイトを巻き戻します
- z -Nul -Padded文字列
- @ - 絶対的な位置へのnul -fill