我有一个缓冲区对象,其中包含八个字节。现在应将这八个字节解释为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);