【Node.js24.x】DataView::DataView()関数の使い方
DataView関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
DataView関数は、ArrayBufferオブジェクトに格納されたバイナリデータを、様々な異なる数値型として読み書きするための機能を提供する関数です。これは、コンピュータのメモリ上に確保された連続した生データ(バイト列)に対して、開発者が特定のオフセットから指定された長さのデータを、符号付きまたは符号なしの整数、単精度浮動小数点数、倍精度浮動小数点数といったJavaScriptのデータ型として解釈し、操作することを可能にします。
この関数を使用することで、ArrayBuffer内の特定のバイト範囲を直接参照し、ビッグエンディアンやリトルエンディアンといったバイトオーダー(データの並び順)を指定してデータを読み書きできます。この機能は、異なるCPUアーキテクチャやシステム間でバイナリデータをやり取りする際に特に重要となります。例えば、ネットワーク通信で受信したプロトコル固有のバイナリデータを解析したり、画像や音声ファイルのような特定のフォーマットを持つデータを処理したりする場面で非常に有用です。
新しいDataViewオブジェクトを作成するには、new DataView(buffer, byteOffset, byteLength)のように、基となるArrayBufferと、オプションとして開始オフセットおよび操作対象の長さを指定して呼び出します。これにより、対象となるArrayBufferの特定の範囲に対して、柔軟かつ低レベルなデータ操作を行うための強力なインターフェースが提供され、より詳細なデータ制御を実現します。
構文(syntax)
1const arrayBuffer = new ArrayBuffer(16); 2const dataView = new DataView(arrayBuffer, 4, 8);
引数(parameters)
buffer, byteOffset = 0, byteLength
- buffer: ArrayBuffer: DataViewオブジェクトが操作する元となる ArrayBuffer オブジェクト
- byteOffset: number = 0: DataViewオブジェクトの開始位置を、bufferの先頭からのバイト数で指定します。デフォルトは 0 です。
- byteLength: number = buffer.byteLength - byteOffset: DataViewオブジェクトの長さを、バイト数で指定します。指定しない場合、byteOffsetからbufferの末尾までの長さになります。
戻り値(return)
DataView
DataViewコンストラクタは、ArrayBufferのビューを生成し、バイトオーダーを明示的に指定して整数や浮動小数点数を読み書きできるようにします。