This translation is incomplete. Please help translate this article from English.
ArrayBuffer は任意のデータのかたまりを表すのに有用なオブジェクトです。多くの場合、そのようなデータはディスク装置やネットワークから読み込まれ、また前に説明した Typed Array Views によって示される配置の制約に従っていません。加えてそのデータは大抵、実際のところ異種のデータで構成され、またバイト順が定義済みの状態にあります
DataView ビューは ArrayBuffer に対して、上記のようなデータを低レベルで読み出したり書き込んだりするためのインタフェースを提供します。
コンストラクタの概要
DataView DataView(ArrayBuffer buffer, optional unsigned long byteOffset, optional unsigned long byteLength); |
メソッドの概要
読み出し
byte getInt8(unsigned long byteOffset); |
unsigned byte getUint8(unsigned long byteOffset); |
short getInt16(unsigned long byteOffset, optional boolean littleEndian); |
unsigned short getUint16(unsigned long byteOffset, optional boolean littleEndian); |
long getInt32(unsigned long byteOffset, optional boolean littleEndian); |
unsigned long getUint32(unsigned long byteOffset, optional boolean littleEndian); |
float getFloat32(unsigned long byteOffset, optional boolean littleEndian); |
double getFloat64(unsigned long byteOffset, optional boolean littleEndian); |
書き込み
void setInt8(unsigned long byteOffset, byte value); |
void setUint8(unsigned long byteOffset, unsigned byte value); |
void setInt16(unsigned long byteOffset, short value, optional boolean littleEndian); |
void setUint16(unsigned long byteOffset, unsigned short value, optional boolean littleEndian); |
void setInt32(unsigned long byteOffset, long value, optional boolean littleEndian); |
void setUint32(unsigned long byteOffset, unsigned long value, optional boolean littleEndian); |
void setFloat32(unsigned long byteOffset, float value, optional boolean littleEndian); |
void setFloat64(unsigned long byteOffset, double value, optional boolean littleEndian); |
コンストラクタ
記憶領域として渡された ArrayBuffer を用いて、新たな DataView オブジェクトを返します。
DataView DataView( ArrayBuffer buffer, optional unsigned long byteOffset, optional unsigned long byteLength );
パラメータ
buffer- 新たな
DataViewのための記憶領域として用いる、既存のArrayBufferです。 byteOffsetOptional- 指定されたバッファで、新たなビューが参照する最初のバイト位置を示すオフセットを、バイト単位で示します。
- 省略した場合、バッファのビューは最初のバイト位置から参照し始めます。
byteLengthOptional- バイト配列内の要素数です。省略した場合、ビューの長さはバッファの長さと同じになります。
戻り値
指定されたデータバッファを示す、新たな DataView オブジェクトを返します。
発生する例外
INDEX_SIZE_ERR- 指定されたビューの
byteOffsetおよびbyteLengthの結果が、バッファの終端を超えたことを示します。
メソッド
getInt8()
ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号付き 8 ビット整数値を取得します。
byte getInt8( unsigned long byteOffset );
パラメータ
offset- データを読み取るビューの始点からのオフセットを、バイト単位で示します。
発生する例外
INDEX_SIZE_ERRbyteOffsetが、ビューの終端を超えて読み取るように指定されたことを示します。
getUint8()
ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号なし 8 ビット整数値を取得します。
byte getUint8( unsigned long byteOffset );
パラメータ
offset- データを読み取るビューの始点からのオフセットを、バイト単位で示します。
発生する例外
INDEX_SIZE_ERRbyteOffsetが、ビューの終端を超えて読み取るように指定されたことを示します。
getInt16()
ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号付き 16 ビット整数値を取得します。
short getInt16( unsigned long byteOffset, optional boolean littleEndian );
パラメータ
byteOffset- データを読み取るビューの始点からのオフセットを、バイト単位で示します。
littleEndian- 16 ビット整数値がリトルエンディアン形式で保存されているか、ビッグエンディアン方式で保存されているかを示します。偽または未定義である場合は、ビッグエンディアンであると解釈します。
発生する例外
INDEX_SIZE_ERRbyteOffsetが、ビューの終端を超えて読み取るように指定されたことを示します。
getUint16()
ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号なし 16 ビット整数値を取得します。
unsigned short getUint16( unsigned long byteOffset, optional boolean littleEndian );
パラメータ
byteOffset- データを読み取るビューの始点からのオフセットを、バイト単位で示します。
littleEndian- 16 ビット整数値がリトルエンディアン形式で保存されているか、ビッグエンディアン方式で保存されているかを示します。偽または未定義である場合は、ビッグエンディアンであると解釈します。
発生する例外
INDEX_SIZE_ERRbyteOffsetが、ビューの終端を超えて読み取るように指定されたことを示します。
ブラウザの互換性
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | 9 | 15.0 (15.0) | 10 | ? | ? |
| 機能 | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| 基本サポート | ? | 15.0 (15.0) | ? | ? | ? |
参考情報
- DataView Specification
- Typed Array Specification
- JavaScript typed arrays
- jDataView: a Javascript library that provides the DataView API to all browsers.