responsetype xmlhttprequest blob arraybuffer xmlhttprequest-level2

xmlhttprequest - responsetype - ArrayBuffer vs Blob y XHR2



arraybuffer to blob (1)

Estados de las diferencias XHR2

La capacidad de transferir objetos ArrayBuffer, Blob, File y FormData.

  • ¿Cuáles son las diferencias entre ArrayBuffer y Blob ?
  • ¿Por qué debería preocuparme por poder enviarlos a través de XHR2? (Puedo entender el valor de File y FormData)

Este es un esfuerzo por reemplazar el método antiguo que tomaría una "cadena" y recortaría partes de él.

Usaría un ArrayBuffer cuando necesite una matriz escrita porque pretende trabajar con los datos y un blob cuando solo necesita los datos del archivo.

Los blobs (de acuerdo con las especificaciones) tienen espacio para un MIME y son más fáciles de colocar en la API de archivos HTML5 que otros formatos (es más nativo).

ArrayBuffer nos permite trabajar con arreglos escritos que son mucho más rápidos que la manipulación de cadenas para trabajar con bytes específicos y nos permite definir qué tipo de segmentos son realmente los arreglos. Dado que JavaScript no se escribe de forma estricta, es difícil tomar un archivo que se pueda dividir en una matriz de 32 bits o quizás de 64 bits (solo imagina 8 bits de bits, eso sería una pesadilla en términos de rendimiento con manipulación de cadenas y bits) cálculos, especialmente con unicode).

Por lo que puedo decir, siempre se puede mover un blob a un búfer de matriz o a una representación de cadena, pero este hecho nativo de XHR permite que los scripts sean más rápidos, lo cual es la principal ventaja.

Usaría un blob para trabajar con el archivo API, pero usaría la matriz para realizar el cálculo previo de los datos.