Convertir Uint8Array a Array en Javascript
arraybuffer javascript (2)
Hay un método de Uint8Array que usa el prototipo (pero solo es compatible con Firefox y Chrome):
TypedArray.prototype.entries () -> devuelve una matriz.
Compruébelo: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
Tengo una instancia de Uint8Array que contiene datos binarios de algún archivo.
Deseo enviar datos al servidor, donde se deserializará como byte [].
Pero si envío Uint8Array, tengo un error de deserialización.
Entonces, quiero convertirlo a Array, ya que Array está bien deserializado.
Lo hago de la siguiente manera:
function uint8ArrayToArray(uint8Array) {
var array = [];
for (var i = 0; i < uint8Array.byteLength; i++) {
array[i] = uint8Array[i];
}
return array;
}
Esta función funciona bien, pero no es muy eficiente para archivos grandes.
Pregunta: ¿Hay una forma más eficiente de convertir Uint8Array -> Array?
Puede usar var array = Array.from(uint8Array)
en entornos que ya Array.from
compatibles con Array.from
(ES6), cuando no es compatible puede usar var array = [].slice.call(uint8Array)