seb*_*a23 2 javascript data-conversion
我data = [0, 4, -109, -31]从 modbus得到这个,我知道这一点,data = 300001但我不知道如何正确转换它以达到那个300001。我尝试了很多网上找到的方法,但我还没有得到它的工作。感谢您的任何帮助
编辑:据我所知,0需要移动24,4移动16,-109 (256-109 = 147)所以它会147并且需要移动,8最后一个-31 (256-31 = 225)我们照原样。快速回顾一下data = [0, 4, 147, 225],0 * 2^24 + 4 * 2^16 + 147 * 2^8 + 225 = 300001
现在需要对此进行编纂。有什么正确的方法可以在js中做到这一点吗?
您需要一个带有缓冲区的数据视图并设置字节
var data = [0, 4, -109, -31]
// Create a data view of a buffer
var view = new DataView(new ArrayBuffer(4));
// set bytes
data.forEach((v, i) => view.setInt8(i, v));
var num = view.getInt32(0);
console.log(num);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |