我正在尝试在PHP中解析Git树对象。由于树对象的格式是
tree <length>\0<data>
我的第一步是使用sscanf()将数据与元数据分开:
sscanf($tree, "tree %d\0%s", $length, $raw_data);
不幸的是,$ raw_data永远不会被设置。在将第一个空字节放入$ raw_data之后,我需要拥有所有内容。这可能包括空格,制表符,换行符,空值等,因为它包含SHA-1哈希的二进制形式。所以%s应该是%[<something that allows all characters>]
。感谢。