无法在 Javascript 中获取 ArrayBuffer 对象的值
Cannot get the value of an ArrayBuffer Object in Javascript
我有一个 ArrayBuffer
对象,我需要将其转换为 String
到 JSON
,但我无法获得 [Int8Array]
的值在对象之外,即使它显然存在。
我已经尝试了所有变体,但它们都return未定义
console.log(result);//Returns the array buffer
//Following methods all return undefined?
console.log(result["[[Int8Array]]"]);
console.log(result[[[Int8Array]]]);
console.log(result[[["Int8Array"]]]);
console.log(result[Int8Array]);
console.log(result["Int8Array"]);
如何获取对象中明确可用的所有 Int8Array 或 UInt8Array 值?
您需要初始化一个 new Uint8Array
来获取它们的值,您无法使用您的 ArrayBuffer
实例直接访问它们。
var buf = new ArrayBuffer(8);
var int8view = new Uint8Array(buf);
console.log(int8view)
JSFiddle:https://jsfiddle.net/v8m7pjqb/
您可以使用接受 ArrayBuffer(以及 uint8array)的 textDecoder 而无需处理 Uint8array:
var str = new TextDecoder().decode(arrayBuffer)
var json = JSON.parse(str)
如果你想直接进入json
var json = await new Response(arrayBuffer).json()
我有一个 ArrayBuffer
对象,我需要将其转换为 String
到 JSON
,但我无法获得 [Int8Array]
的值在对象之外,即使它显然存在。
我已经尝试了所有变体,但它们都return未定义
console.log(result);//Returns the array buffer
//Following methods all return undefined?
console.log(result["[[Int8Array]]"]);
console.log(result[[[Int8Array]]]);
console.log(result[[["Int8Array"]]]);
console.log(result[Int8Array]);
console.log(result["Int8Array"]);
如何获取对象中明确可用的所有 Int8Array 或 UInt8Array 值?
您需要初始化一个 new Uint8Array
来获取它们的值,您无法使用您的 ArrayBuffer
实例直接访问它们。
var buf = new ArrayBuffer(8);
var int8view = new Uint8Array(buf);
console.log(int8view)
JSFiddle:https://jsfiddle.net/v8m7pjqb/
您可以使用接受 ArrayBuffer(以及 uint8array)的 textDecoder 而无需处理 Uint8array:
var str = new TextDecoder().decode(arrayBuffer)
var json = JSON.parse(str)
如果你想直接进入json
var json = await new Response(arrayBuffer).json()