📜  JavaScript dataView.getUint16() 方法(1)

📅  最后修改于: 2023-12-03 15:01:37.188000             🧑  作者: Mango

JavaScript dataView.getUint16() 方法

JavaScript DataView 对象中的 getUint16() 方法返回解析器的存储数组缓冲区中指定字节偏移量处的无符号 16 位整数(unsigned short)值。

语法
dataView.getUint16(byteOffset [, littleEndian]);
参数
  • byteOffset:必需。整数类型,表示从哪个字节偏移量处开始读取数据。
  • littleEndian:可选。布尔值类型,默认值为 false。表示是否使用小端字节序解析数据。当值为 false 时使用大端字节序解析数据。
返回值

一个无符号 16 位整数(unsigned short)值。

举例
const buffer = new ArrayBuffer(4); // 创建一个长度为 4 的 ArrayBuffer
const dv = new DataView(buffer); // 创建一个 DataView 对象

// 向 buffer 写入数据,使用大端字节序
dv.setUint8(0, 0xFF);
dv.setUint8(1, 0x00);
dv.setUint8(2, 0x12);
dv.setUint8(3, 0x34);

// 读取 buffer 数据,使用大端字节序
const value1 = dv.getUint16(0);
console.log(value1); // 65280

// 读取 buffer 数据,使用小端字节序
const value2 = dv.getUint16(0, true);
console.log(value2); // 255
注意事项
  1. byteOffset 参数应该是 0 或正整数,表示 DataView 对象要读取的 ArrayBuffer 数据偏移量(从第几字节开始读取)。如果 byteOffset 不是 2 的倍数,则会抛出错误。
  2. 大端字节序(Big Endian)和小端字节序(Little Endian)是计算机中存储多字节值的方式。在大端字节序中,高序字节(最高有效字节)被存储在低位地址处,低序字节(最低有效字节)被存储在高位地址处。在小端字节序中,高序字节(最高有效字节)被存储在高位地址处,低序字节(最低有效字节)被存储在低位地址处。在 JavaScript 中,默认使用大端字节序。如果要使用小端字节序,需要将 littleEndian 参数设置为 true。