unpack

unpack -- バイナリ文字列からデータを切出します

説明

array unpack(string format, string data);

format に基づきバイナリ文字列から 配列に切出します。バイナリ文字列の切出された要素を保持する配列を 返します。

Unpack の動作は Perl とわずかに異なり、切出されたデータは連想配列に 保存されます。 実行する際には、 別のフォーマットコードとし、スラッシュ / で区切る必要があります。

例 1. フォーマット文字列の切出し


 $array = unpack("c2chars/nint", $binarydata);
 

結果の配列は、エントリ "chars1","chars2","int" を保持します。

フォーマットコードに関する説明は、 pack も参照下さい。

PHP は内部的に整数を符号付で保持します。 大きな値の unsigned long を切出した場合、PHP の内部で保持された値は、 同じ大きさの符号付き整数となり、符号無しを指定して切出された場合でも 結果は負の数となります。