PHP Pack / Unpack - kann Zeichenfolgen mit variabler Länge verarbeiten

Ich habe versucht herauszufinden, ob die PHP-Implementierung von Pack / Unpack etwas kann, was die Perl-Version kann. Das Beispiel, das ich in PHP machen möchte, ist:

http://perldoc.perl.org/perlpacktut.html#String-Lengths

# pack a message: ASCIIZ, ASCIIZ, length/string, byte
my $msg = pack( 'Z* Z* C/A* C', $src, $dst, $sm, $prio );
# unpack
( $src, $dst, $sm, $prio ) = unpack( 'Z* Z* C/A* C', $msg );

Was dieser Perl-Code tut, wird beschrieben als:

Wenn Sie zwei Pack-Codes mit einem Schrägstrich (/) kombinieren, werden sie einem einzelnen Wert aus der Argumentliste zugeordnet. In pack wird die Länge des Arguments genommen und gemäß dem ersten Code gepackt, während das Argument selbst hinzugefügt wird, nachdem es nach dem Schrägstrich mit dem Vorlagencode konvertiert wurde.

Sie können Zeichenfolgen mit variabler Länge packen und sie dann in einem Schritt entpacken, anstatt zuerst die Länge der Zeichenfolge zu ermitteln und sie dann als separaten Schritt zu extrahieren.

Das PHP-Handbuch erwähnt diese Fähigkeit nicht und jeder Versuch, ein Muster wie 'C / A *' in das Entpacken einzufügen, ist für mich fehlerhaft. Ist das ein Versehen im Handbuch oder nur etwas, das die PHP-Version nicht unterstützt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage