Fungsi unpack() PHP

definisi dan penggunaan

Fungsi unpack() mengunpack data dari string biner.

syntaks

unpack(format,data)
parameter deskripsi
format wajib. Tentukan format yang digunakan untuk unpack data.
data opsional. Tentukan data biner yang diunpack.

nilai yang mungkin parameter format:

  • a - string diisi dengan NUL
  • A - string diisi dengan spasi
  • h - string Hex, nibble rendah pertama
  • H - string Hex, nibble tinggi pertama
  • c - signed char
  • C - unsigned char
  • s - signed short (selalu 16 bit, urutan byte mesin)
  • S - unsigned short (selalu 16 bit, urutan byte mesin)
  • n - unsigned short (selalu 16 bit, urutan byte besar)
  • v - unsigned short (selalu 16 bit, urutan byte kecil)
  • i - signed integer (ukuran dan urutan byte mesin tergantung)
  • I - unsigned integer (ukuran dan urutan byte mesin tergantung)
  • l - signed long (selalu 32 bit, urutan byte mesin)
  • L - unsigned long (selalu 32 bit, urutan byte mesin)
  • N - unsigned long (always 32 bit, big endian byte order)
  • V - unsigned long (always 32 bit, little endian byte order)
  • f - float (machine dependent size and representation)
  • d - double (machine dependent size and representation)
  • x - NUL byte
  • X - Back up one byte
  • @ - NUL-fill to absolute position

Contoh

Contoh 1

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

Output:

Array
(
[1] => 80
[2] => 72
[3] => 80
)

Contoh 2

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

Output:

Array
(
[myint1] => 80
[myint2] => 72
[myint3] => 80
)

Contoh 3

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

Output:

Array
(
[chars1] => 52
[chars2] => 120
[int1] => 65
[int2] => 66
)