Как реализовать метод split() (аналог String.split) для класса Uint8Array?

172
13 апреля 2017, 18:42

У меня есть массив Uint8Array с бинарными данными в формате

multipart/mixed;boundary=Boundary_23_730424359_1491069552303

где Boundary_23_730424359_1491069552303 приведен для примера.

Внутри массива встречаются строки Boundary_23_730424359_1491069552303.

Мне нужно разбить массив на подмассивы, аналогично тому, как это делает метод String.split("Boundary_23_730424359_1491069552303").

Как это сделать простым способом?

Это нужно для браузера, не для ноды.

Answer 1

Нашел способ:

function Uint8ArraySplit(arr, splitter) {
    return arr.join(",").split(splitter.join(",")).map(function(sub) {
        sub = sub.replace(/^,/, '').replace(/,$/, '');
        return new Uint8Array(sub.split(","));
    });
}

Правда не понятно на сколько он оптимальный по занимаемому объему памяти. Ведь бинарные данные могут быть большими. А тут по сути много раз они будут дублироваться. Хотелось бы услышать слово экспертов.

READ ALSO
Найти каналы rgb из цвета HEX формата

Найти каналы rgb из цвета HEX формата

Банальнейший вопрос, но я пока не знаю ответа

174
Steam: обход мобильного подтверждения (escrow)

Steam: обход мобильного подтверждения (escrow)

Здравствуйте, помогите пожалуйста реализовать правильный гет запрос для мобильного подтверждения трейда в стимеЮзаю steam-totp для генерации...

417
Javascript, цепочка вызовов, как реализовать ответ в колбеке?

Javascript, цепочка вызовов, как реализовать ответ в колбеке?

Добрый день дамы и господаПишу для себя модуль на node js, не могу реализовать функцию save()

265
Проверка позиции ползунка у UI Slider

Проверка позиции ползунка у UI Slider

У меня реализован ползунок цены (http://apijqueryui

217