NodeJS读取缓冲区二进制到浮动

问题描述

我有一个包含自定义字节信息的大型 DAT 文件,
我的任务是将解决方案转换为 JavaScript。
是为了使解决方案更加单一语言,并转换为无服务器云计算。

但是,我在转换此测试数据时遇到了问题。
应该返回浮点数的值,
但我似乎无法正确转换数字。

切片缓冲区输出为<Buffer 40 82 e2 31 d6 d7 2e 8d>
哪个应该返回 604.274335557087
但实际上返回 4.090111255645752

我现在不知所措。
有什么想法吗?


  fs.readFile(file,(err,data) => {

...
      // Read other buffer slice() values fine until this step. 
      // Like: readInt8(),readIntBE(0,4),readBigUInt64BE(0,8) 
...

      let FloatNumber = data.slice(start,end).readFloatBE();
      console.log('FloatNumber',FloatNumber);

...

  }

解决方法

const buf = Buffer.from([0x40,0x82,0xe2,0x31,0xd6,0xd7,0x2e,0x8d]);

console.log( buf.readDoubleBE(0) );
// Prints: 604.274335557087

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...