ArrayBuffer与Blob和XHR2

时间:2011-10-15 13:31:33

标签: xmlhttprequest blob arraybuffer xmlhttprequest-level2

XHR2 differences

  

传输ArrayBuffer,Blob,File和FormData对象的能力。

  • ArrayBufferBlob之间有什么区别?
  • 我为什么要关心能够通过XHR2发送它们? (我可以理解File和FormData的价值)

1 个答案:

答案 0 :(得分:15)

这是一种替换旧方法的努力,该方法将采用“字符串”并将其切割出来。

当你需要一个类型化数组时,你会使用一个ArrayBuffer,因为你打算使用数据,当你需要文件数据时,你会使用一个blob。

Blob(根据规范,无论如何)有一个MIME空间,比其他格式更容易放入HTML5文件API(它更原生)。

ArrayBuffer允许我们使用类型化数组,它比字符串操作快得多,可以处理特定的字节,并让我们定义数组段实际上是什么类型。由于JavaScript不是严格类型的,因此很难将一个可能被分成32位整数或64位浮点数的文件(想象一下8位整数) - 这对于字符串操作和按位运算的性能来说是一场噩梦计算,特别是使用unicode)。

据我所知,你总是可以将blob移动到数组缓冲区或字符串表示形式,但这是XHR原生的,它允许脚本更快,这是主要优势。

我使用blob来处理文件API,但我会使用该数组对数据进行预先计算。