使用 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