![](/img/trans.png)
[英]How to read a single-precision floating-point number from four bytes serialized by .NET's BinaryWriter
[英]Convert 4 binary bytes as single-precision float to Number
我有一個單精度的big-endian浮點數,存儲在4個二進制字節中,我想將其解碼為JS Number
。 這些字節是使用Ruby的Array#pack方法生成的,例如:
[100.32].pack('g') # "\x42\xC8\xA3\xD7"
使用npm binary
包,我可以將這些字節解碼為32位無符號整數:
let binary = require('binary'); // npm install binary
let buf = new Buffer([0x42,0xc8,0xa3,0xd7]);
let val = binary.parse(buf).word32bu('foo').vars.foo;
console.log(val);
// 1120445399
…但這對我沒有幫助。 如何將1120445399
或[0x42,0xc8,0xa3,0xd7]
轉換為浮點數100.32
?
看起來它存儲為32位浮點數。 節點已經可以處理這些常見的數字解析/寫入方案。 在這種情況下,您可以只使用buf.readFloatBE(0)
轉換這4個字節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.