在Javascript中将ArrayBuffer转换为int

时间:2015-07-04 10:32:11

标签: javascript arraybuffer

我正在尝试使用JavaScript将ArrayBuffer转换为int。我的应用程序使用WebSocket,在Sender端我有一个0到4之间的整数。我在C#中转换这个ArraySegment。我通过Web套接字将其发送到我的JavaScript客户端,该客户端将其作为ArrayBuffer接收。

ArrayBuffer现在保持0或1或2或3的值。如何“读取”该值?

2 个答案:

答案 0 :(得分:7)

使用DataView

var buffer = new ArrayBuffer(16);
var dv = new DataView(buffer, 0);

dv.setInt16(1, 42);
dv.getInt16(1); //42

答案 1 :(得分:0)

var i = new Uint8Array(buf)[0];

然后i就是您所需要的。如果您需要subarray()

ArrayBuffer.prototype.subarray = function (a, b) {
    var u = new Uint8Array(this);
    return new Uint8Array(u.subarray(a, b)).buffer;;
};

var i = new Uint8Array(buf.subarray(0,1))[0];