缓冲区+writeUInt32LE从NodeJS到Javascript

Buffer + writeUInt32LE from NodeJS to Javascript

本文关键字:Javascript NodeJS +writeUInt32LE 缓冲区      更新时间:2023-09-26

所以我有这个函数,来自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)

有线索吗?

编辑:这里似乎也问了同样的问题,但只使用了一个库,我不想为此加载一个完整的库,必须有一个简单的方法将这个NodeJS函数转换为Javascript函数。

找到了!

function WearToFloat(value)
{
    var buffer = new ArrayBuffer(4);
    var dataview = new DataView(buffer);
    dataView.setUint32(0,value);
    return dataView.getFloat32(0);
}