おたずねいたします。
以下のような、長さがバラバラなデーターを
javascript でひとつにまとめて書き出す方法を検討しています。
data
1sample data 2 3data(0) = 4d 54 4data(1) = 68 64 00 5data(2) = e0 4d 54 72 6b 00 00 15 6data(3) = d4 00 ff 03 00 00 7data(4) = ff 02 12 43 8data(5) = 6f 70 79 72 69 67 9data(6) = 68 74 10data(7) = 20 28 11data(8) = 43 29 20 32 30 32 12data(9) = 30 00 ff 13data(10) = 58 04 01 03 18 14 15. . . 16. . . 17. . . 18
とりあえず、すべてのデーターを
たった一つの文字列変数に次々と書き足す方法で
コードを作成するところまで行き着きました。
その後、色々な見本を調べて回って
Uint8Array などの方法が使えるかもしれないところまで
情報を集めました。
上述のデーターの例ですと、Uint8Array の配列要素のひとつずつの容量を
超過してしまうのかどうか、など
基本的なことがどこにも書いてありません。
質問の目的
上述のビットデーターを最終的に1つの巨大データとしてつなげて
バイナリーコードとして javascript で
ひとつのファイルに書き出す方法を求めています。
よろしくお願いいたします。
これまで実行した方法
for loop を使って
文字列変数に 上記のビットデーターを
膨大な長さの文字列に書き加え続ける方法
for ( i=0; i< data.length; i++ )
str = str + data(i) ;
この方法では、ブラウザ上で実行すると
ものすごく処理速度が遅く
上に見本を示したようなわずか10個ほどのテストデーターより
はるかに大量の情報を処理する際に
メモリー容量を超過する恐れを懸念しています。
求めている解決法
ブラウザ上で、200個から500個程度の入力データーを
16進数に変換して読み込んで、そのうち
設定条件に合うものだけを関数処理して
計算結果が上のようなビットデーターとして得られます。
これらのビットデーターを上から順に空白文字を入れないで
javascript 上 (node.js の使用法を知りません)で
ひとかたまりに結合して
バイナリファイル形式で保存する方法を作ろうとしています。
Uint8Array などの使用方法が分からないため
どのようにコードを構築すればよいかご指導をお願いいたします。
回答4件
あなたの回答
tips
プレビュー