Php 使用sscanf()允许字符串中的所有字符

Php 使用sscanf()允许字符串中的所有字符,php,regex,scanf,Php,Regex,Scanf,我试图在PHP中解析Git树对象。因为树对象的格式是 tree <length>\0<data> 不幸的是,$raw_数据从未按应有的方式设置。我需要将第一个空字节之后的所有内容放入$raw_数据中。这可能包括空格、制表符、换行符、空值等,因为它包含SHA-1哈希的二进制形式。因此%s应该类似于%[]。谢谢。我得到的只是长度,然后使用substr(),但我认为我的问题仍然适用。我得到的只是长度,然后使用substr(),但我认为我的问题仍然适用。 sscanf($tre

我试图在PHP中解析Git树对象。因为树对象的格式是

tree <length>\0<data>

不幸的是,$raw_数据从未按应有的方式设置。我需要将第一个空字节之后的所有内容放入$raw_数据中。这可能包括空格、制表符、换行符、空值等,因为它包含SHA-1哈希的二进制形式。因此%s应该类似于
%[]
。谢谢。

我得到的只是长度,然后使用substr(),但我认为我的问题仍然适用。我得到的只是长度,然后使用substr(),但我认为我的问题仍然适用。
sscanf($tree, "tree %d\0%s", $length, $raw_data);