-
Notifications
You must be signed in to change notification settings - Fork 0
Home
uupaa edited this page Sep 25, 2015
·
21 revisions
TypedArray.js は、TypedArray に不足している機能を補うライブラリです。
エンディアン情報の取得と、エンディアンの変換を行うための関数があります。
TypedArray.BIG_ENDIAN // -> false (ARM, Intel CPU)
TypedArray.hton16( new Uint8Array([1,2]) ) // -> [2, 1]
TypedArray.ntoh16( new Uint8Array([1,2]) ) // -> [2, 1]
TypedArray.hton16( TypedArray.ntoh16( new Uint8Array([1,2]) ) ) // -> [1, 2]
バッファを2倍に拡張し、元の配列の内容を引き継いだ新しい配列を生成します。
TypedArray.expand( new Uint32Array([1,2,3]) ) // -> Uint32Array([1,2,3,0,0,0])
TypedArray を文字列に変換したり、文字列から TypedArray に変換できます。
TypedArray.toString( new Uint8Array([0x33, 0x34, 0x35, 0x36]) ) // -> "3456"
TypedArray.fromString("Hello") // -> [72, 101, 108, 108, 111]
TypedArray.fromString("あいう") // -> [66, 68, 70]
TypedArray.fromString("あいう", Uint16Array) // -> [12354, 12356, 12358]
URL/FILE/BLOB/BLOBURL/TypedArray/ArrayBuffer を ArrayBuffer に変換します。
TypedArray.toArrayBuffer("http://example.com/404.png", function(arrayBuffer) {
var buffer = new Uint8Array(arrayBuffer);
...
}, function(error) {
...
});
16進ダンプです。デバッグのお供にどうぞ。
WebModule.TypedArray.hexDump( WebModule.TypedArray.fromString("あいうえお", Uint32Array) );
ADRESS 0 1 2 3
------ -------- -------- -------- --------
000000 00003042 00003044 00003046 00003048
000004 0000304a
WebModule.TypedArray.hexDump( WebModule.TypedArray.fromString("あいうえお", Uint16Array) );
ADRESS 0 1 2 3 4 5 6 7
------ ---- ---- ---- ---- ---- ---- ---- ----
000000 3042 3044 3046 3048 304a
WebModule.TypedArray.hexDump( WebModule.TypedArray.fromString("あいうえお", Uint8Array));
ADRESS 0 1 2 3 4 5 6 7 8 9 A B C D E F
------ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
000000 42 44 46 48 4a