Php 混合结构二进制文件解析
我需要用PHP解析一个二进制ABIF文件。结构如下: 该文件由三个逻辑部分组成。标头固定在前128个字节,其他两部分可以在任何地方,这意味着即使在某些文本或XML数据之间。如何解析这两部分?有什么想法吗 我发现了很多解决如何用其他语言解析ABIF的方法:Python、C、C++、VB、Perl、JavaScript,但PHP却一点也没有。JS中有一个例子: 下面是一个文件示例: 它返回:Php 混合结构二进制文件解析,php,binary,Php,Binary,我需要用PHP解析一个二进制ABIF文件。结构如下: 该文件由三个逻辑部分组成。标头固定在前128个字节,其他两部分可以在任何地方,这意味着即使在某些文本或XML数据之间。如何解析这两部分?有什么想法吗 我发现了很多解决如何用其他语言解析ABIF的方法:Python、C、C++、VB、Perl、JavaScript,但PHP却一点也没有。JS中有一个例子: 下面是一个文件示例: 它返回: Array ( [head] => Array ( [header] =&
Array (
[head] => Array (
[header] => ABIF
[ver] => 101
)
[dir] => Array (
[name] => tdir
[number] => 1
[elementtype] => 1023
[elementsize] => 28
[numelements] => 165
[datasize] => 4928
[dataoffset] => 245963
[datahandle] => 0
)
)
数据偏移量告诉目录从哪里开始。每个目录条目都有另一个
dataoffset
字段,告诉它的数据从哪里开始。PDF文档似乎是对文件格式的一个非常清晰的解释。您在编写代码来解析它时遇到了什么问题?我很清楚如何解析头,因为它有固定的位置和大小。如果其他元素的位置因文件而异,如何解析这些元素?我需要使用什么?数据偏移量告诉您目录的起始位置。每个目录条目都有另一个dataoffset
字段,告诉它的数据从哪里开始。@deji如果您解决了问题,您应该发布问题的答案。
Array (
[head] => Array (
[header] => ABIF
[ver] => 101
)
[dir] => Array (
[name] => tdir
[number] => 1
[elementtype] => 1023
[elementsize] => 28
[numelements] => 165
[datasize] => 4928
[dataoffset] => 245963
[datahandle] => 0
)
)