我尝试将JavaScript代码转换为PHP。代码解析binnary文件。 我打开文件,将指针移到开头,读取字节。
$file = fopen($filePath, 'rb');
if ($file) {
rewind($file);
$buffer = fread($file, 126273);
}
所以我在$buffer
中有字符串。然后我尝试使用
$unpacked = unpack('N', $buffer);
我收到了unsigned long (always 32 bit, big endian byte order)
。这等于JavaScript buffer.readUInt32BE()
(我认为......我收到相同的值)
然后我需要转换另一个字符串,但是有偏移量。
JavaScript代码:
buffer.readUInt32BE(offset)
在PHP上,我试过做像
这样的事情unpack('N', substr($buffer, $offset))
但得到了不同的价值
你能解释一下如何使用php吗?