PHP Pack / распаковать - может ли он обрабатывать строки переменной длины

Я пытался выяснить, может ли реализация PHP Pack / Unpack сделать то, что может сделать версия Perl. Вот пример, который я хотел бы сделать в PHP:

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

То, что делает этот код Perl, описывается как:

Combining two pack codes with a slash (/) associates them with a single value from the argument list. In pack, the length of the argument is taken and packed according to the first code while the argument itself is added after being converted with the template code after the slash.

то есть вы можете упаковать строки переменной длины и затем распаковать их за один шаг, вместо того, чтобы сначала определять длину строки, а затем извлекать ее как отдельный шаг.

В руководстве по PHP не упоминается эта возможность и любая попытка вставить шаблон, подобный «C / A *»; в распаковке дает ошибки для меня. Это упущение в руководстве или просто то, что не поддерживает версия PHP?

Ответы на вопрос(1)

Ваш ответ на вопрос