PHP unpack()Funktionen

PHP Misc 参考手册PHP-Referenzhandbuch für Verschiedenes

Beispiele

Daten aus einer Binärzeichenfolge entpacken:

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

Beispiel ausführen »

Definition und Verwendung

Die unpack()-Funktion entpackt Daten aus einer Binärzeichenfolge.


Syntax

unpack(format,data)

Parameters Beschreibung
format Erforderlich. Gibt das Format an, das beim Entpacken von Daten verwendet wird.

Mögliche Werte:

  • a - NUL-aufgefüllte Zeichenfolge
  • A - mit Leerzeichen aufgefüllte Zeichenfolge
  • h - Hexadezimalzeichenfolge, niederwertiges Nibble zuerst
  • H - Hexadezimalzeichenfolge, höherwertiges Nibble zuerst
  • c - signed char
  • C - unsigned char
  • s - signed short (immer 16-Bit, Byte-Reihenfolge der Maschine)
  • S - unsigned short (immer 16-Bit, Byte-Reihenfolge der Maschine)
  • n - unsigned short (immer 16-Bit, Big-Endian-Byte-Reihenfolge)
  • v - unsigned short (immer 16-Bit, Little-Endian-Byte-Reihenfolge)
  • i - signed integer (abhängig von Maschinengröße und Byte-Reihenfolge)
  • I - unsigned integer (abhängig von Maschinengröße und Byte-Reihenfolge)
  • l - signed long (immer 32-Bit, Byte-Reihenfolge der Maschine)
  • L - unsigned long (immer 32-Bit, Byte-Reihenfolge der Maschine)
  • N - unsigned long (immer 32-Bit, Big-Endian-Byte-Reihenfolge)
  • V - unsigned long (immer 32-Bit, Little-Endian-Byte-Reihenfolge)
  • f - float (hängt von Maschinengröße und Darstellung ab)
  • d - double (hängt von Maschinengröße und Darstellung ab)
  • x - NUL-Byte
  • X - Ein Byte zurückgehen
  • Z - mit NUL aufgefüllte Zeichenkette
  • @ - Mit NUL bis zur absoluten Position auffüllen
data Erforderlich. Gibt die zu entpackenden Binärdaten an.

Technische Details

Rückgabewert: Gibt bei Erfolg ein Array zurück, oder FALSE im Fehlerfall.
PHP-Version: 4+
Änderungsprotokoll: Ab PHP 5.5.0 wurden die folgenden Änderungen für die Perl-Kompatibilität vorgenommen:

Der "a"-Code behält abschließende NULL-Bytes bei.
Der "A"-Code entfernt alle abschließenden ASCII-Leerraumzeichen.
Der "Z"-Code für mit NUL aufgefüllte Zeichenketten wurde hinzugefügt, der abschließende NULL-Bytes entfernt.


Weitere Beispiele

Beispiel 1

Die Daten entpacken:

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

Beispiel ausführen »

Beispiel 2

Die Daten entpacken:

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

Beispiel ausführen »


PHP Misc 参考手册PHP-Handbuch für sonstige Referenzen Andere Erweiterungen