PHP unpack()-funktio
Määrittely ja käyttö
unpack()-funktio purkaa binäärisarjoista dataa.
Syntaksi
unpack(format,data)
Parametrit | Kuvaus |
---|---|
format | Välttämätön. Määrittää pakatun datan käytettävän formatin. |
data | Valinnainen. Määrittää pakatut binääritiedot. |
format-parametrien mahdolliset arvot:
- a - NUL-täytetty merkkijono
- A - Tyhjillä välilyönneillä täytetty merkkijono
- h - Hex string, matalin nibble ensin
- H - Hex string, korkein nibble ensin
- c - signed char
- C - unsigned char
- s - signed short (aina 16 bittiä, koneen bittijärjestys)
- S - unsigned short (aina 16 bittiä, koneen bittijärjestys)
- n - unsigned short (aina 16 bittiä, suuri bitti ensin)
- v - unsigned short (aina 16 bittiä, pieni bitti ensin)
- i - signed integer (koneesta riippuvainen koko ja bittijärjestys)
- I - unsigned integer (koneesta riippuvainen koko ja bittijärjestys)
- l - signed long (aina 32 bittiä, koneen bittijärjestys)
- L - unsigned long (aina 32 bittiä, koneen bittijärjestys)
- N - unsigned long (aina 32 bittiä, suuri suuntaus)
- V - unsigned long (aina 32 bittiä, pieni suuntaus)
- f - liukuluku (koneesta riippuvainen koko ja esitystapa)
- d - kaksinkertainen (koneesta riippuvainen koko ja esitystapa)
- x - NUL-tietolaatikko
- X - varmuuskopioi yksi tietolaatikko
- @ - tyhjennä NUL-kohta absoluuttiseen sijaintiin
Esimerkki
Esimerkki 1
<?php $data = "PHP"; print_r(unpack("C*",$data)); ?>
Tuloste:
Array ( [1] => 80 [2] => 72 [3] => 80 )
Esimerkki 2
<?php $data = "PHP"; print_r(unpack("C*myint",$data)); ?>
Tuloste:
Array ( [myint1] => 80 [myint2] => 72 [myint3] => 80 )
Esimerkki 3
<?php $bin = pack("c2n2",0x1234,0x5678,65,66); print_r(unpack("c2chars/n2int",$bin)); ?>
Tuloste:
Array ( [chars1] => 52 [chars2] => 120 [int1] => 65 [int2] => 66 )