2つの既存の配列バッファの2つを新しいものに結合する必要があります。Javascript combine ArrayBuffer parts
私はパーサを構築していますが、データはランダムなサイズの配列バッファに入っています。データは1つの末尾に、もう一方の先頭に流出します。だから私は新しい出力バッファを作成して、あるバッファの終わりの部分ともう一方のバッファの先頭部分にコピーする必要があります。出力は単にArraybufferになります。
このデモからは、Uint8Arraysをいくつかのオフセットを使って作成し、setを使用することになっていましたが、特定の組み合わせはInvalid typed array length
をスローします。私は各配列の長さやオフセットをあらかじめ知っていません。
var buffer1 = new ArrayBuffer(8);
var buffer2 = new ArrayBuffer(8);
var buffer3 = new ArrayBuffer(8);
var uint8_1 = new Uint8Array(buffer1);
var uint8_2 = new Uint8Array(buffer2);
var uint8_3 = new Uint8Array(buffer3);
uint8_1.fill(1);
uint8_2.fill(2);
var uint8_1_slice = new Uint8Array(buffer1 , 0 , 3);
var uint8_2_slice = new Uint8Array(buffer2 , 4, 7);
このデモでは、buffer3を1,1,1,1,2,2,2,2にする必要があります。
は、このデモのためにスライス
これは適切なトラックにあります。設定しないと、一度に1バイトをコピーしていないので、セットを使用する必要があります。 – brianxautumn
実際には申し訳ありませんが、スライスは使用できません。新しい配列が返されます。 – brianxautumn
@brianxautumn _ "実際には申し訳ありませんが、スライスを使用できません。新しい配列が返されます。"新しい配列を作成しないという要件はありますか? – guest271314