Я пытаюсь конвертировать код JavaScript в PHP. Код разбора бинарного файла.
Я открываю файл, перемещаю указатель на начало, читаю байты.
$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?
Задача ещё не решена.
Других решений пока нет …