我有一个装置女巫用的二进制格式风格的配置,以及我们产生的文件上。

文件的结构必须包括一些配置(1每个参数)每个形式:

  • 类型

其中:

  • 类型:是一个单字节的标识符,其定义参数
  • 长度:是一个单一的八含有长度的价值领域中的八位(不包括类型和长度字段)
  • 价值:是从一至254八含的特定价值的参数

我有一个对应表

 Type_code[int] => { Type_length[int] => Value[int/string/hex/etc.] }

如何分析,表二进制格式?而且,第二种方式,如何分析,二进制文件,以php阵格式回来吗?

有帮助吗?

解决方案

还有 pack/unpack 功能可以翻译之间的各种二元/hex/octal/string格式。阅读大量文件,提取必要的位与解,并从那里工作。

$fh = fopen('data.txt', 'rb'); // b for binary-safe

// read 2 bytes, extract code/length, then read $length more bytes to get $value
while(($data = fread($fh, 2)) !== EOF)) { 
    list($code, $length) = unpack('CC', $data);
    $data = fread($fh, $length);

    // do stuff
}
fclose($fh);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top