【JavaScript ECMAScript】DataView::DataView.prototype.getInt16インスタンスメソッドの使い方
DataView.prototype.getInt16()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
DataView.prototype.getInt16()メソッドは、DataViewオブジェクトから指定されたバイトオフセットで16ビット符号付き整数(short)を読み取るメソッドです。
DataViewは、ArrayBufferなどのバイナリデータバッファ内の任意のオフセット位置から、指定されたデータ型で値を読み書きするためのインターフェースを提供します。このgetInt16()メソッドは、特にネットワークデータの解析やファイル形式の処理など、バイト単位でバイナリデータを正確に扱う必要がある場面で非常に役立ちます。
このメソッドは二つの引数を取ります。最初の引数であるbyteOffsetには、データを読み取り開始するバッファ内のオフセット位置をバイト単位で指定します。二番目のオプション引数であるlittleEndianには、バイトオーダー(エンディアン)を指定します。trueを指定するとリトルエンディアンとしてデータを解釈し、falseを指定するか省略した場合はビッグエンディアンとして解釈します。
このメソッドは、指定されたオフセットから読み取られた16ビット符号付き整数値を返します。もし指定されたbyteOffsetがDataViewオブジェクトの範囲を超えていたり、読み取りに必要なバイト数がビューの終端からはみ出す場合、RangeError例外がスローされますので、オフセットの指定には注意が必要です。
これにより、例えば、外部から受信したバイナリデータや、特定のファイルフォーマットのデータをJavaScriptで処理する際に、特定の2バイトを符号付き整数として正確に読み取り、プログラム内で利用できるようになります。
構文(syntax)
1const buffer = new ArrayBuffer(2); 2const dataView = new DataView(buffer); 3const byteOffset = 0; 4const littleEndian = false; // オプション引数 5 6const value = dataView.getInt16(byteOffset, littleEndian);
引数(parameters)
byteOffset, littleEndian = false
- byteOffset: number: 読み取りを開始するバイトオフセットを指定します。
- littleEndian: boolean = false: データのエンディアン(バイトオーダー)を指定します。trueの場合はリトルエンディアン、falseの場合はビッグエンディアンで読み取ります。
戻り値(return)
Number
指定されたオフセットから、符号付き16ビット整数(2バイト)の値を読み取ります。