Buffer + writeUInt32LE 从 NodeJS 到 Javascript
Buffer + writeUInt32LE from NodeJS to Javascript
所以我有这个函数,来自 NodeJS 脚本:
function WearToFloat(value)
{
buf = new Buffer(4);
buf.writeUInt32LE(+value, 0);
return buf.readFloatLE(0).toString();
}
我需要将其翻译成纯 Javascript 形式,任何网络浏览器都可以阅读。
不幸的是,我对 NodeJS 和 JS 中的缓冲区一无所知,也无法通过文档弄清楚。
这个函数的目的是将一个看起来像 1054356424
的值转换为一个从 0 到 1 的浮点数(在本例中为 0.4222700595855713)
有线索吗?
编辑:似乎有人问过同样的问题 here 但只使用了一个库,我不想为此加载一个完整的库,必须有一个简单的方法来将此 NodeJS 函数转换为 Javascript 函数。
找到了!
function WearToFloat(value)
{
var buffer = new ArrayBuffer(4);
var dataview = new DataView(buffer);
dataView.setUint32(0,value);
return dataView.getFloat32(0);
}
所以我有这个函数,来自 NodeJS 脚本:
function WearToFloat(value)
{
buf = new Buffer(4);
buf.writeUInt32LE(+value, 0);
return buf.readFloatLE(0).toString();
}
我需要将其翻译成纯 Javascript 形式,任何网络浏览器都可以阅读。
不幸的是,我对 NodeJS 和 JS 中的缓冲区一无所知,也无法通过文档弄清楚。
这个函数的目的是将一个看起来像 1054356424
的值转换为一个从 0 到 1 的浮点数(在本例中为 0.4222700595855713)
有线索吗?
编辑:似乎有人问过同样的问题 here 但只使用了一个库,我不想为此加载一个完整的库,必须有一个简单的方法来将此 NodeJS 函数转换为 Javascript 函数。
找到了!
function WearToFloat(value)
{
var buffer = new ArrayBuffer(4);
var dataview = new DataView(buffer);
dataView.setUint32(0,value);
return dataView.getFloat32(0);
}