javascript / expert
Snippet
Low-Level Binary Manipulation with DataView
DataView provides a low-level interface for reading and writing multiple number types in an ArrayBuffer, regardless of the platform's endianness. This is critical for implementing binary protocols, file parsers, or high-performance networking where byte-perfect alignment is required.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
const buffer = new ArrayBuffer(8);const view = new DataView(buffer);// Write a 32-bit integer at byte 0 in Big-Endianview.setUint32(0, 0x12345678, false);// Read the first byteconst firstByte = view.getUint8(0);console.log(firstByte.toString(16)); // '12'// Read as Little-Endian to see the differenceconst leValue = view.getUint32(0, true);console.log(leValue.toString(16)); // '78563412'
Breakdown
1
new DataView(buffer)
Creates a view over the raw memory buffer for structured access.
2
view.setUint32(0, ..., false)
Writes 4 bytes starting at offset 0 using Big-Endian byte order.