DataView

by 3 contributors:

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 です。
byteOffset Optional
指定されたバッファで、新たなビューが参照する最初のバイト位置を示すオフセットを、バイト単位で示します。
省略した場合、バッファのビューは最初のバイト位置から参照し始めます。
byteLength Optional
バイト配列内の要素数です。省略した場合、ビューの長さはバッファの長さと同じになります。
戻り値

指定されたデータバッファを示す、新たな DataView オブジェクトを返します。

発生する例外
INDEX_SIZE_ERR
指定されたビューの byteOffset および byteLength の結果が、バッファの終端を超えたことを示します。

メソッド

getInt8()

ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号付き 8 ビット整数値を取得します。

byte getInt8(
  unsigned long byteOffset
);
パラメータ
offset
データを読み取るビューの始点からのオフセットを、バイト単位で示します。
発生する例外
INDEX_SIZE_ERR
byteOffset が、ビューの終端を超えて読み取るように指定されたことを示します。

getUint8()

ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号なし 8 ビット整数値を取得します。

byte getUint8(
  unsigned long byteOffset
);
パラメータ
offset
データを読み取るビューの始点からのオフセットを、バイト単位で示します。
発生する例外
INDEX_SIZE_ERR
byteOffset が、ビューの終端を超えて読み取るように指定されたことを示します。

getInt16()

ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号付き 16 ビット整数値を取得します。

short getInt16(
  unsigned long byteOffset,
  optional boolean littleEndian
);
パラメータ
byteOffset
データを読み取るビューの始点からのオフセットを、バイト単位で示します。
littleEndian
16 ビット整数値がリトルエンディアン形式で保存されているか、ビッグエンディアン方式で保存されているかを示します。偽または未定義である場合は、ビッグエンディアンであると解釈します。
発生する例外
INDEX_SIZE_ERR
byteOffset が、ビューの終端を超えて読み取るように指定されたことを示します。

getUint16()

ビューの先頭に対して、指定されたバイト単位のオフセットを適用した位置にある、符号なし 16 ビット整数値を取得します。

unsigned short getUint16(
  unsigned long byteOffset,
  optional boolean littleEndian
);
パラメータ
byteOffset
データを読み取るビューの始点からのオフセットを、バイト単位で示します。
littleEndian
16 ビット整数値がリトルエンディアン形式で保存されているか、ビッグエンディアン方式で保存されているかを示します。偽または未定義である場合は、ビッグエンディアンであると解釈します。
発生する例外
INDEX_SIZE_ERR
byteOffset が、ビューの終端を超えて読み取るように指定されたことを示します。

ブラウザの互換性

機能 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) ? ? ?

参考情報

ドキュメントのタグと貢献者

Contributors to this page: teoli, ethertank, yyss
最終更新者: teoli,
サイドバーを隠す