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