問題タブ [arraybuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
185 参照

javascript - 各バイトの先行ビットが無視されるときに、バイトのセットから数値を生成する簡単な方法はありますか?

Google ChromeのJavaScriptを使用して一連のバイトから、ArrayBufferから数値を生成して、MP3タグ情報を取得しようとしています。ID3v2仕様で、タグサイズを取得するには、特定の場所で4バイトを取得し、それらから整数値を取得する必要があると規定されています。ただし、次の場合を除きます。

ID3v2タグサイズは4バイトでエンコードされ、最上位ビット(ビット7)はすべてのバイトでゼロに設定され、合計28ビットになります。ゼロにされたビットは無視されるため、257バイトの長さのタグは$ 00 000201として表されます。

これを行うための素朴な方法は、各バイトを調べて各ビットの値を取得し、元の4バイトの7ビットから生成された新しい4バイトの値を生成することです。たとえば、これらの4つの元のバイトがあります。 :

新しいArrayBufferを作成し、各ビットをループして以下を生成します。

次に、 Uint32Arrayを使用してこの32ビット整数から整数値を計算します

これを行う簡単な方法はありますか?

0 投票する
1 に答える
506 参照

scala - Scala の有限グローアブル配列

配列のような構造を最大サイズまで拡大できるようにしたいと考えています。その後、新しい要素が追加されるたびに、最も古い (1 番目の) 要素が構造から削除されます。これを行う最善の方法はわかりませんが、1 つの方法は ArrayBuffer クラスを拡張し、+= 演算子をオーバーライドして、最大サイズに達した場合に新しい要素が毎回削除されるようにすることです。 1 つ追加されます。コレクションを適切に拡張する方法がまだわかりません。私がこれまでに持っているものは次のとおりです。

誰かがより良い道を提案したり、これに沿って私を助けたりできますか? 注: += 操作の合間に、構造内の要素に何度も任意にアクセスする必要があります。

ありがとう

0 投票する
6 に答える
4184 参照

scala - scala ArrayBufferは、述語を持つすべての要素を削除します

Scalaは、不変シーケンスのフィルタリングにおいて非常に洗練されています。

しかし、ArrayBufferのような可変コレクションでこれを行うにはどうすればよいですか?私が見つけたのは、単一の要素またはスライスを削除するか、別のシーケンスから要素を削除することだけですが、述語によって指定された要素を削除するものは何もありません。

編集:私はこれに似たものを見つけることを望んでいました:

これは線形時間でフィルタリングされ、任意のバッファに混在させることができますが、意味があるのはArrayBufferだけです。リストバッファでは、インデックス作成に線形時間がかかるため、処理が遅くなります。

0 投票する
1 に答える
2578 参照

jquery - JQuery.getからダウンロードしたデータをArrayBufferに変換するにはどうすればよいですか?

私は過去3日間、私が知っているさまざまなキーワードを使ってこれに対する答えを見つけようとしましたが、遠くまで行くことができませんでした。私はJavaScript/WebGLを初めて使用するので、これは私の側では完全に無知である可能性があります。その場合はご容赦ください。

これは、サーバーからバイナリファイル(カスタムイメージファイル形式)をダウンロードし、ダウンロードしたデータから最初の4バイト(Int32)を読み取るために行うことです。

ダウンロードされたデータ「imageData」はサーバー上のファイルとして正しいサイズ(imageData.length)であるため、ダウンロードは成功したと思います。

ダウンロードしたファイルを読み込んで、ヘッダー情報を抽出します(WebGL Texture2Dの残りの画像データを表示に使用します)。したがって、問題は次のとおりです。ダウンロードされたカスタム画像(WebGLでテクスチャとして使用するため)を処理する方法はありますか?そうでない場合、あなたの推奨事項は何でしょうか?

0 投票する
27 に答える
488944 参照

javascript - 文字列と ArrayBuffer 間の変換

JavaScript 文字列をArrayBuffersに、またはその逆に効率的に変換するための一般的に受け入れられている手法はありますか? localStorage具体的には、ArrayBuffer の内容を書き込んで読み戻せるようにしたいと考えています。

0 投票する
2 に答える
17675 参照

scala - SeqをArrayBufferに変換する

ScalaでにSeq変換する簡潔な方法はありますか?ArrayBuffer

0 投票する
1 に答える
975 参照

javascript - ArrayBufferView コンストラクターの奇妙な制限

TypedArray 仕様では、ArrayBufferView は次の方法で作成できると規定されています。

ただし、2 番目のパラメーター にbyteOffsetは制限があります。

指定された byteOffset は、特定の型の要素サイズの倍数である必要があります。そうでない場合、例外が発生します。

これは、次のような 2 バイト ビューの奇数オフセットを扱うことができないことを意味します。

したがって、[1,2] を Uint16 に正しく変換できたとしても、その方法でそれらの要素にアクセスすることはできません。byteOffset の制限により、ArrayBufferViewの柔軟性が大幅に低下するようです。

この制限が課された理由を知っている人はいますか?

0 投票する
1 に答える
758 参照

google-chrome - ブラウザからバイナリデータを送信する

クライアントからサーバーにバイナリ形式でデータを送信するために何をしなければならないか知りたいですか?

Chrome 14 を使用してArrayBufferおり、クライアント アプリケーションでを送信すると、サーバー アプリケーションで にopcode設定されたフレームとopText文字列をフレーム データとして受け取ります。

私は何をすべきか?

0 投票する
1 に答える
5117 参照

xmlhttprequest - ArrayBuffer vs Blob および XHR2

XHR2 の相違

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

  • ArrayBufferBlobの違いは何ですか?
  • XHR2 経由で送信できることを気にする必要があるのはなぜですか? (File と FormData の価値は理解できる)
0 投票する
5 に答える
37516 参照

javascript - Javascript型付き配列とエンディアン

WebGLを使用して、バイナリエンコードされたメッシュファイルをレンダリングしています。バイナリファイルはビッグエンディアン形式で書き出されます(これは、ファイルを16進エディターで開くか、フィドラーを使用してネットワークトラフィックを表示することで確認できます)。Float32ArrayまたはInt32Arrayを使用してバイナリ応答を読み取ろうとすると、バイナリはリトルエンディアンとして解釈され、値が間違っています。

型付き配列のデフォルトのエンディアンへの参照がhttp://www.khronos.org/registry/typedarray/specs/latest/に見つからないので、何が問題なのか疑問に思います。型付き配列を使用して読み取る場合、すべてのバイナリデータはリトルエンディアンであると想定する必要がありますか?

この問題を回避するには、DataViewオブジェクト(前のリンクで説明)を使用して、次のコマンドを呼び出します。

「getInt32」などのDataView関数は、デフォルトでビッグエンディアン値を読み取ります。

(注:Google Chrome15とFirefox8を使用してテストしましたが、どちらも同じように動作します)