У меня есть класс PHP для чтения двоичных данных, которые я конвертирую в NodeJS или нахожу эквивалент пары функций в NodeJS. В этом классе BinaryReader меня интересуют функции ReadULong
и ReadUShort
. Я считаю, что это означает чтение длинного целого числа без знака (4 байта) и короткого целого числа без знака (2 байта). Когда я пытаюсь найти эквивалент для них в NodeJS, я не понимаю, какую функцию использовать между ними:
buf.readUInt16LE(offset, [noAssert])
buf.readUInt16BE(offset, [noAssert])
buf.readUInt32LE(offset, [noAssert])
buf.readUInt32BE(offset, [noAssert])
Что означают LE
или BE
в этом случае?
Документация по Buffer находится здесь, но мне не удалось найти объяснение этим здесь.
Также я нашел константу в классе PHP, которая говорит const DEFAULT_BYTE_ORDER = 'L';
. Это L
такое же, как L
в readUInt32LE
? Все дело в порядках байтов?
До сих пор я читал эти статьи:
- Хороший источник на сайте cplusplus.com для поиска типов переменных.
- Руководство по побайтовой обработке PHP и двоичной математике
- Как читать двоичные файлы побайтно в узле .js вопрос в stackoverflow
Если бы мне дали еще пару ссылок, чтобы прочитать о двоичном чтении, я был бы очень признателен!