我有一个包含自定义字节信息的大型 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);
...
}
答案 0 :(得分:1)
const buf = Buffer.from([0x40, 0x82, 0xe2, 0x31, 0xd6, 0xd7, 0x2e, 0x8d]);
console.log( buf.readDoubleBE(0) );
// Prints: 604.274335557087