2011-10-15 34 views

Respuesta

15

Este es un esfuerzo por reemplazar el método anterior que tomaría una "cadena" y cortaría secciones de la misma.

Utilizaría un ArrayBuffer cuando necesite una matriz con tipeo porque tiene la intención de trabajar con los datos, y un blob cuando solo necesite los datos del archivo.

Los blobs (según las especificaciones de todos modos) tienen espacio para MIME y son más fáciles de poner en la API de archivos HTML5 que en otros formatos (es más propio de ellos).

ArrayBuffer nos permite trabajar con matrices tipadas, que es mucho más rápido que la manipulación de cadenas para trabajar con bytes específicos y nos permite definir qué tipo son realmente los segmentos de la matriz. Como JavaScript no está estrictamente tipeado, es difícil tomar un archivo que pueda dividirse en una matriz de 32 bits o quizás flotadores de 64 bits (imagínense inyecciones de 8 bits, eso sería una pesadilla en términos de rendimiento con la manipulación de cadenas y en bits cálculos, especialmente con unicode).

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

Utilizaría un blob para trabajar con el archivo API, pero utilizaría el conjunto para realizar cálculos en los datos.

+0

Así que, básicamente, para la velocidad bruta Blob es el camino a seguir? – Pacerier