以第二补码形式解析为16位值

时间:2017-04-24 08:36:16

标签: javascript parsing raw-data

数据表为数据设置了2个字节,定义为:

"这两个字节是2位补码形式的16位值,其范围从0xF800(-4096)到0x07FF(4095)"

我真的不懂如何在javascript中解析这些数据。

1 个答案:

答案 0 :(得分:0)

目前所有主流浏览器都支持DataView类。

鉴于你的Uint8Array包含例如[0xf8, 0x00]

var a = new Uint8Array([0xf8, 0x00])

您可以将其视为Int16值数组:

var view = new DataView(a.buffer)
var val = view.getInt16(0, false);   // false for big-endian
> -2048

如果数组中的数据是相反的(小端),则为true的第二个参数提供.getInt16()