PHP Pack / unpack - może obsługiwać łańcuchy o zmiennej długości

Próbowałem dowiedzieć się, czy implementacja PHP Pack / Unpack może zrobić coś, co może zrobić wersja Perl. Przykład, który chciałbym mieć w PHP to:

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 );

To, co robi ten kod Perla, jest opisane jako:

Łączenie dwóch kodów paczek z ukośnikiem (/) wiąże je z jedną wartością z listy argumentów. W pakiecie długość argumentu jest pobierana i pakowana zgodnie z pierwszym kodem, podczas gdy sam argument jest dodawany po przekonwertowaniu kodem szablonu po ukośniku.

tj. można pakować łańcuchy o zmiennej długości, a następnie rozpakowywać je w jednym kroku, zamiast najpierw określić długość łańcucha, a następnie wyodrębnić go jako oddzielny krok.

Podręcznik PHP nie wspomina o tej możliwości i każda próba wstawienia wzorca takiego jak „C / A *” do rozpakowania daje mi błędy. Czy to przeoczenie w podręczniku lub coś, czego wersja PHP nie obsługuje?

questionAnswers(1)

yourAnswerToTheQuestion