如何读取Node.js缓冲区上的UInt64 Double?

我想读一个UInt64BE并将其转换为Double 。 我怎样才能做到这一点?

我将Double转换为UInt64BE ,如下所示:

var time = Date.now(); buffer.writeUInt32BE(parseInt(time / 0xffffffff, 10), 0); buffer.writeUInt32BE(parseInt(time & 0xffffffff, 10), 4); 

我发现了以下解决scheme:

 var buffer = new Buffer(8), time = Date.now(), // convert number to hex var hex = time.toString(16); while(hex.length < 16) hex = '0' + hex; // write number as UInt64 buffer.write(hex, 0, 8, 'hex'); // read UInt64 as hex and convert to Double var num = parseInt(buffer.toString('hex', 0, 8), 16); console.log(num === time);