Мне нужно объединить 2 части 2 существующих массива Буферов в новый.Javascript комбайна ArrayBuffer parts
Я строю парсер, и данные поступают в массив буферов случайных размеров, данные будут разливаться в конце одного, в начало другого. Поэтому мне нужно создать новый выходной буфер и скопировать часть конца одного буфера и часть начала другого. Выход будет просто Arraybuffer.
Начиная с этой демонстрации, я собирался сделать Uint8Arrays с некоторыми смещениями, затем использовать set, проблема в определенных комбинациях throw 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