19

XHR2 の相違

ArrayBuffer、Blob、File、および FormData オブジェクトを転送する機能。

  • ArrayBufferBlobの違いは何ですか?
  • XHR2 経由で送信できることを気にする必要があるのはなぜですか? (File と FormData の価値は理解できる)
4

1 に答える 1

17

これは、「文字列」を取り、その一部を切り取る古い方法を置き換える試みです。

データを操作するために型付き配列が必要な場合は ArrayBuffer を使用し、ファイルのデータだけが必要な場合は blob を使用します。

Blob (とにかく仕様によると) には MIME 用のスペースがあり、他の形式よりも HTML5 ファイル API に入れるのが簡単です (それはよりネイティブです)。

ArrayBuffer を使用すると、特定のバイトを操作する文字列操作よりもはるかに高速な型付き配列を操作でき、配列セグメントが実際にどのような型であるかを定義できます。JavaScript は厳密に型指定されていないため、32 ビット int または 64 ビット float の配列に分割される可能性のあるファイルを取得するのは困難です (8 ビット int を想像してみてください。これは、文字列操作とビット単位のパフォーマンスの点で悪夢です)。特に Unicode を使用した計算)。

私が知る限り、ブロブはいつでも配列バッファーまたは文字列表現に移動できますが、これは XHR にネ​​イティブであるため、スクリプトを高速化できます。これが主な利点です。

ファイル API の操作には BLOB を使用しますが、データの計算には配列を使用します。

于 2011-10-15T14:43:41.130 に答える