Это попытка заменить старый метод, который брал бы «строку» и вырезал ее части.
Вы бы использовали ArrayBuffer, когда вам нужен типизированный массив, потому что вы намереваетесь работать сdata, и BLOB-объект, когда вам просто нужны данные файла.
BLOB-объекты (согласно спецификации в любом случае) имеют место для MIME и их легче вставить в файловый API-интерфейс HTML5, чем в другие форматы (он более естественный дляэто).
ArrayBuffer позволяет нам работать с типизированными массивами, что намного быстрее, чем манипулирование строками, для работы с конкретными байтами, и позволяет нам определить, какой тип сегментов массива на самом деле.Поскольку JavaScript не является строго типизированным, трудно взять файл, который может быть разбит на массив из 32-битных или, возможно, 64-битных операций с плавающей запятой (только представьте, 8-битные) - это было бы кошмаром с точки зрения производительности при манипулировании строками и побитовомвычисления, особенно с использованием Unicode).
Насколько я могу судить, вы всегда можете переместить большой двоичный объект в буфер массива или в строковое представление, но это является родным для XHR, что позволяет сценариям работать быстрее, что является основнымпреимущество.
Я бы использовал большой двоичный объект для работы с файловым API, но я бы использовал массив для предварительного вычисления данных.