Neueste Web-Entwicklung Tutorials
 

PHP unpack() Function

<PHP Misc Referenz

Beispiel

Packen von Daten von einem Binär-String:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
Führen Sie zB »

Definition und Verwendung

Das unpack() Funktion dekomprimiert Daten von einer binären Zeichenkette.


Syntax

unpack(format,data)

Parameter Beschreibung
format Erforderlich. Gibt das Format zu verwenden, wenn Daten zu packen.

Mögliche Werte:

  • a - NUL-aufgefüllter String
  • A - SPACE-aufgefüllter String
  • h - Hex-String, Low-Nibble zuerst
  • H - Hex-String, hohe Tetrade zuerst
  • c - signed char
  • C - unsigned char
  • s - unterzeichnet kurz (always 16 bit, machine byte order) - (always 16 bit, machine byte order)
  • S - unsigned short (always 16 bit, machine byte order) - (always 16 bit, machine byte order)
  • n - unsigned short (always 16 bit, big endian byte order) - (always 16 bit, big endian byte order) - (always 16 bit, big endian byte order) - (always 16 bit, big endian byte order)
  • v - unsigned short (always 16 bit, little endian byte order) - (always 16 bit, little endian byte order) - (always 16 bit, little endian byte order) - (always 16 bit, little endian byte order)
  • i - Ganzzahl mit Vorzeichen (machine dependent size and byte order)
  • I - unsigned integer (machine dependent size and byte order)
  • l - unterzeichnet lange (always 32 bit, machine byte order) - (always 32 bit, machine byte order)
  • L - unsigned long (always 32 bit, machine byte order) - (always 32 bit, machine byte order)
  • N - unsigned long (always 32 bit, big endian byte order) - (always 32 bit, big endian byte order) - (always 32 bit, big endian byte order) - (always 32 bit, big endian byte order)
  • V - unsigned long (always 32 bit, little endian byte order) - (always 32 bit, little endian byte order) - (always 32 bit, little endian byte order) - (always 32 bit, little endian byte order)
  • f - Schwimmer (machine dependent size and representation)
  • d - double (machine dependent size and representation)
  • x - NUL Byte
  • X - Sichern ein Byte
  • Z - NUL-aufgefüllter String
  • @ - NUL-fill auf absolute Position
data Erforderlich. Gibt die binären Daten entpackt werden

Technische Details

Rückgabewert: Gibt einen Array auf Erfolg oder FALSE bei einem Fehler.
PHP Version: 4+
Änderungsprotokoll: Ab PHP 5.5.0 wurden folgende Änderungen für Perl-Kompatibilität hergestellt:

Der "a" Code behält nun NULL - Bytes Hinter.
Der "A" Code jetzt Streifen all Hinter ASCII Leerzeichen.
Der "Z" Code wurde für NULL-gepolsterten Strings hinzugefügt und NULL - Bytes entfernt den Hinter.

Mehr Beispiele

Beispiel 1

Auspacken Daten:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>
Führen Sie zB »

Beispiel 2

Auspacken Daten:

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

<PHP Misc Referenz