在 Javascript 中将 ArrayBuffer 转换为 int
Converting ArrayBuffer to int in Javascript
我正在尝试使用 JavaScript 将 ArrayBuffer 转换为 int。我的应用程序使用 WebSocket,在发送端我有一个 0 到 4 之间的整数。我在 C# 中转换这个 ArraySegment。我通过网络套接字将其发送到我的 JavaScript 客户端,该客户端将其作为 ArrayBuffer 接收。
ArrayBuffer 现在保存值 0 或 1 或 2 或 3。我怎样才能 'read' 该值?
使用DataView:
var buffer = new ArrayBuffer(16);
var dv = new DataView(buffer, 0);
dv.setInt16(1, 42);
dv.getInt16(1); //42
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];
我正在尝试使用 JavaScript 将 ArrayBuffer 转换为 int。我的应用程序使用 WebSocket,在发送端我有一个 0 到 4 之间的整数。我在 C# 中转换这个 ArraySegment。我通过网络套接字将其发送到我的 JavaScript 客户端,该客户端将其作为 ArrayBuffer 接收。
ArrayBuffer 现在保存值 0 或 1 或 2 或 3。我怎样才能 'read' 该值?
使用DataView:
var buffer = new ArrayBuffer(16);
var dv = new DataView(buffer, 0);
dv.setInt16(1, 42);
dv.getInt16(1); //42
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];