PHP membongkar () Fungsi
Referensi PHP Lain-Lain
Contoh
Buka paket data dari string biner:
<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
Definisi dan Penggunaan
Fungsi unpack() membongkar data dari string biner.
Sintaksis
Nilai Parameter
Parameter |
Description |
format |
Required. Specifies the format to use when unpacking data.
Possible values:
- a - NUL-padded string
- A - SPACE-padded string
- h - Hex string, low nibble first
- H - Hex string, high nibble first
- c - signed char
- C - unsigned char
- s - signed short (always 16 bit, machine byte order)
- S - unsigned short (always 16 bit, machine byte order)
- n - unsigned short (always 16 bit, big endian byte order)
- v - unsigned short (always 16 bit, little endian byte order)
- i - signed integer (machine dependent size and byte order)
- I - unsigned integer (machine dependent size and byte order)
- l - signed long (always 32 bit, machine byte order)
- L - unsigned long (always 32 bit, machine byte order)
- N - unsigned long (always 32 bit, big endian byte order)
- V - unsigned long (always 32 bit, little endian byte order)
- q - signed long long (always 64 bit, machine byte order)
- Q - unsigned long long (always 64 bit, machine byte order)
- J - unsigned long long (always 64 bit, big endian byte order)
- P - unsigned long long (always 64 bit, little endian byte order)
- f - float (machine dependent size and representation)
- g - float (machine dependent size, little endian byte order)
- G - float (machine dependent size, big endian byte order)
- d - double (machine dependent size and representation)
- e - double (machine dependent size, little endian byte order)
- E - double (machine dependent size, big endian byte order)
- x - NUL byte
- X - Back up one byte
- Z - NUL-padded string
- @ - NUL-fill to absolute
|
data |
Required. Specifies the binary data to be unpacked |
offset |
Optional. Specifies where to start unpacking from. Default is 0. |
Detail Teknis
Nilai Kembali: |
Mengembalikan array jika berhasil, atau FALSE jika gagal. |
Versi PHP: |
4+ |
Catatan perubahan: |
PHP 7.2 - float dan double sekarang mendukung big dan small endian. PHP 7.1 - Menambahkan parameter offset opsional. PHP 5.5.0 - Perubahan berikut dibuat untuk kompatibilitas Perl: Kode "a" sekarang mempertahankan byte NULL yang tertinggal. Kode "A" sekarang menghapus semua spasi ASCII yang tertinggal. Kode "Z" ditambahkan untuk string yang diisi NULL, dan menghapus byte NULL yang tertinggal. |
Lebih Banyak Contoh
Contoh
Buka paket data:
<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>
Contoh
Buka paket data:
<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>
Referensi PHP Lain-Lain