1. ホーム
  2. javascript

Javascriptでバイト配列を格納する方法

2023-10-09 06:40:06

質問

Javascriptでバイト値の大きな配列(おそらく100万以上)を格納するつもりです。通常の数値を含む配列を使用する場合、数値は IEEE 倍数として格納されるため、8 MB を要しますが、バイトとして格納できれば、わずか 1 MB で済みます。

明白な理由から、それだけの容量を無駄にすることは避けたいと思います。倍数ではなく、バイトとして格納する方法はありますか? ブラウザの互換性は、Chrome で動作する限り、私にとって問題ではありません。これはHTML5で、もしそれが違いを生むなら。

どのように解決するのですか?

以下の方法で 型付き配列 の配列を格納することができます。 これらの型 :

タイプ 値の範囲 サイズ(byte)
Int8Array -128から127 1
Uint8Array 0から255まで 1
Uint8ClampedArray 0から255まで 1
Int16Array -32768から32767 2
Uint16Array 0から65535まで 2
Int32Array -2147483648から2147483647まで 4
Uint32Array 0から4294967295まで 4
Float32Array -3.4E38 ~ 3.4E38 4
Float64Array -1.8E308から1.8E308まで 8
BigInt64Array -2^63から2^63 - 1まで 8
BigUint64Array 0から2^64 - 1 8

Stack Snippets &でのデモ。 JSFiddle

var array = new Uint8Array(100);
array[42] = 10;
console.log(array[42]);