PHP unpack() funktion
Definition och användning
unpack() funktionen packar ut data från en binär sträng.
Syntaks
unpack(format,data)
Parameter | Beskrivning |
---|---|
format | Obligatorisk. Bestämmer formatet som används vid utpaket av data. |
data | Valfritt. Bestämmer de binära data som paketeras ut. |
format-argumentens möjliga värden:
- a - med NUL-fyllt sträng
- A - med utrymme fyllt sträng
- h - Hex-sträng, låg nibble först
- H - Hex-sträng, hög nibble först
- c - teckenbärande byte
- C - osäker byte
- s - teckenbärande kort (alltid 16 bit, maskin byte order)
- S - osäker kort (alltid 16 bit, maskin byte order)
- n - osäker kort (alltid 16 bit, stor byte order)
- v - osäker kort (alltid 16 bit, liten byte order)
- i - teckenbärande heltal (maskinberoende storlek och byte order)
- I - osäker heltal (maskinberoende storlek och byte order)
- l - teckenbärande lång (alltid 32 bit, maskin byte order)
- L - osäker lång (alltid 32 bit, maskin byte order)
- N - utan tecken long (allaways 32 bit, stor endian byte order)
- V - utan tecken long (allaways 32 bit, liten endian byte order)
- f - flyttal (maskinberoende storlek och representation)
- d - dubbel (maskinberoende storlek och representation)
- x - NUL-byte
- X - Återsteg en byte
- @ - NUL-fyll till absolut position
Exempel
Exempel 1
<?php $data = "PHP"; print_r(unpack("C*",$data)); ?>
Utskrift:
Array ( [1] => 80 [2] => 72 [3] => 80 )
Exempel 2
<?php $data = "PHP"; print_r(unpack("C*myint",$data)); ?>
Utskrift:
Array ( [myint1] => 80 [myint2] => 72 [myint3] => 80 )
Exempel 3
<?php $bin = pack("c2n2",0x1234,0x5678,65,66); print_r(unpack("c2chars/n2int",$bin)); ?>
Utskrift:
Array ( [chars1] => 52 [chars2] => 120 [int1] => 65 [int2] => 66 )