嘿,所以我遇到了一个问题,从 PHP 我必须从一个二进制文件中读取一些数据,其中 SPACE 是最重要的,所以他们在一些地方使用了 24 位整数。
现在对于我可以使用 unpack 读取的大部分数据,但是 pack/unpack 不支持 24 位 int 的:s
我想我也许可以简单地将数据(例如 000104)读取为 H* 并将其读入正确的 var 中。
// example binary data say I had the following 3 bytes in a binary file
// 0x00, 0x01, 0x04
$buffer = unpack("H*", $data);
// this should equate to 260 in base 10 however unpacking as H* will not get
// this value.
// now we can't unpack as N as it requires 0x4 bytes of data and n being a 16 bit int
// is too short.
以前有人处理过这个吗?有什么解决办法吗?建议?