JavaScript: чтение 8 байтов в 64-битное целое число
У меня есть буферный объект, который содержит восемь байтов. Эти восемь байтов теперь должны интерпретироваться как 64-битное целое число.
В настоящее время я использую следующий алгоритм:
var int = buff[0];
for (var i = 1; i < buff.length; i++) {
int += (buff[i] * Math.pow(2, 8 * i));
}
console.log(int);
это работает, но я считаю, что есть лучшие способы (возможно, с использованием Uint64Array).
К сожалению, я не могу найти, как Uint16Array мог бы помочь мне здесь.
С уважением
Обновить:
// puts two 32bit integers to one 64bit integer
var bufInt = (buf.readUInt32BE(0) < 8) + buf.readUInt32BE(4);