【JavaScript ECMAScript】DataView::DataView.prototype.getUint16インスタンスメソッドの使い方
DataView.prototype.getUint16()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
DataView.prototype.getUint16()メソッドは、DataViewインスタンスが保持するバイナリデータバッファから、指定されたバイトオフセットにある符号なし16ビット整数(Uint16)を読み取るメソッドです。DataViewオブジェクトは、ArrayBufferなどの生データソースに対して、その内容を特定のデータ型として柔軟に読み書きするためのビューを提供します。このgetUint16()メソッドは、0から65535までの範囲の整数値をバイナリデータから抽出する際に利用されます。
具体的には、第一引数であるbyteOffsetに、DataViewの先頭からデータを読み取りを開始する位置をバイト単位で指定します。符号なし16ビット整数は2バイトを占めるため、指定されたオフセットとその次のバイトの合計2バイトが読み取りの対象となります。第二引数littleEndianはオプションの真偽値で、データのバイト順序(エンディアンネス)を指定します。trueを指定するとリトルエンディアン形式(下位バイトが先に格納される形式)で読み取り、falseまたは省略した場合はビッグエンディアン形式(上位バイトが先に格納される形式)で読み取ります。エンディアンネスは、複数バイトで構成される数値をメモリ上でどのように配置するかを決定する重要な概念です。
このメソッドは、指定されたオフセットから読み取った符号なし16ビット整数値を返します。もしbyteOffsetがDataViewの範囲を超えている場合や、読み取りに必要な2バイト分のデータがバッファの終端までに存在しない場合は、RangeError例外がスローされます。この機能は、ネットワーク通信で受信したプロトコルデータや、特定のファイルフォーマットのヘッダ情報など、低レベルなバイナリデータ解析が必要な場面で非常に役立ちます。
構文(syntax)
1const buffer = new ArrayBuffer(2); 2const dataView = new DataView(buffer); 3dataView.setUint16(0, 12345); 4const value = dataView.getUint16(0); 5console.log(value);
引数(parameters)
byteOffset, littleEndian = false
- byteOffset: number: 読み取りたい 16 ビット符号なし整数が格納されているバイトオフセット。
- littleEndian: boolean = false: 16 ビット整数がリトルエンディアン形式であるかどうかを示すブール値。false の場合、ビッグエンディアン形式が使用されます。
戻り値(return)
number
DataView.prototype.getUint16()は、指定されたオフセットから2バイト(16ビット)の符号なし整数を読み取り、その数値を返します。