使用 DataViews 操作 ArrayBuffers

DataViews 提供了从 ArrayBuffer 读取和写入单个值的方法,而不是将整个事物视为单个类型的数组。这里我们分别设置两个字节,然后将它们一起解释为 16 位无符号整数,第一个是 big-endian,然后是 little-endian。

var buffer = new ArrayBuffer(2);
var view = new DataView(buffer);

view.setUint8(0, 0xFF);
view.setUint8(1, 0x01);

console.log(view.getUint16(0, false)); // 65281
console.log(view.getUint16(0, true));  // 511