Wie betreibe ich typedArray in Javascript?
阿神
阿神 2017-05-19 10:16:39
0
1
388

Zum Beispiel habe ich über die XMLHttpRequest()-Methode ein Stück Binärdaten 0001001000111100 angefordert

var oReq = new XMLHttpRequest();
oReq.responseType = "arraybuffer";
var resp = oReq.open("GET",url,true)
oReq.onload = function (oEvent) {
    var arrayBuffer = oReq.response;
}

Wie betreibe ich diesen Arraybuffer? Ich weiß, dass das entsprechende Array über verschiedene Ansichten abgerufen werden kann
Zum Beispiel

var responseArray = new Uint8Array(arrayBuffer);
console.log(responseArray)
//输出Uint8Array(2) [18, 60]

Wenn dieser Array-Puffer also sehr, sehr groß ist, was sollten Sie dann tun, wenn Sie die darin enthaltenen Informationen extrahieren möchten? Nachdem der 4-MB-Arraybuffer
über Uint8Array ausgegeben wurde, hat das Array auch eine Länge von 410001000/8 = 500.000. .
Zum Beispiel möchte ich bestimmte Positionen im Arraybuffer mit Daten füllen. . Was ist also zu tun?
Wäre es möglich, eine Ansicht wie Uint8Array zum Erstellen eines neuen Arrays zu verwenden?

阿神
阿神

闭关修行中......

Antworte allen(1)
淡淡烟草味

arraybuffer 是不能直接操作的,只能通过DataView或typedArray来访问,如果需要修改某些位的数据的话得先知道数据相对于arrayBuffer的offset,通过dataview.setInt8(byteOffset, value);或者typedArray[..]来修改。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage