Entpacken Sie Daten aus einer Binärzeichenfolge:
<?php$data = "PHP";print_r(unpack("C*",$data));?>Die Funktion unpack() entpackt Daten aus einer Binärzeichenfolge.
entpacken (Format, Daten)
Parameter | beschreiben |
---|---|
Format | Erforderlich. Gibt das Format an, das beim Entpacken von Daten verwendet wird. Mögliche Werte: a – eine mit NUL aufgefüllte Zeichenfolge A – mit Leerzeichen gefüllte Zeichenfolge h – Hexadezimale Zeichenfolge, niederwertiges Bit zuerst H – Hexadezimale Zeichenfolge, höherwertiges Bit zuerst c - signiertes Zeichen C – vorzeichenloses Zeichen s – signiert kurz (immer 16 Bit, Maschinenbytereihenfolge) S – vorzeichenloser Kurzschluss (immer 16 Bit, Maschinenbyte-Reihenfolge) n – unsigned short (immer 16 Bit, Big-Endian-Byte-Reihenfolge) v – unsigned short (immer 16 Bit, Little-Endian-Bytereihenfolge) i – vorzeichenbehaftete Ganzzahl (abhängig von Maschinengröße und Bytereihenfolge) I – Ganzzahl ohne Vorzeichen (abhängig von Maschinengröße und Bytereihenfolge) l – signiert lang (immer 32 Bit, Maschinenbyte-Reihenfolge) L – unsigned long (immer 32 Bit, Maschinenbyte-Reihenfolge) N – unsigned long (immer 32 Bit, Big-Endian-Bytereihenfolge) V – unsigned long (immer 32 Bit, Little-Endian-Bytereihenfolge) f – Float (abhängig von Maschinengröße und Darstellung) d – doppelt (abhängig von Maschinengröße und Darstellung) x - NUL-Byte X – Ein Byte sichern Z – NUL gepolsterte Saite @ - NUL füllt die absolute Position |
Daten | Erforderlich. Gibt die zu entpackenden Binärdaten an. |
Rückgabewert: | Gibt bei Erfolg ein Array zurück, bei Fehlschlag FALSE. |
---|---|
PHP-Version: | 4+ |
Protokoll aktualisieren: | Ab PHP 5.5.0 wurden aus Gründen der Perl-Kompatibilität die folgenden Änderungen vorgenommen: „a“-Code behält das nachgestellte NULL-Byte bei. Der „A“-Code entfernt alle nachfolgenden ASCII-Leerzeichen. „Z“-Code für mit NUL aufgefüllte Zeichenfolgen hinzugefügt und nachgestellte NULL-Bytes entfernt. |
Entpacken Sie die Daten:
<?php$data = "PHP";print_r(unpack("C*myint",$data));?>Entpacken Sie die Daten:
<?php$bin = pack("c2n2",0x1234,0x5678,65,66);print_r(unpack("c2chars/n2int",$bin));?>