javascript / expert
Snippet
Low-Level Binär-Manipulation mit DataView
DataView bietet eine Low-Level-Schnittstelle zum Lesen und Schreiben mehrerer Zahlentypen in einem ArrayBuffer, unabhängig von der Endianness der Plattform. Dies ist entscheidend für die Implementierung von Binärprotokollen, Dateiparsern oder Hochleistungsnetzwerken, bei denen eine Byte-perfekte Ausrichtung erforderlich ist.
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'
Erklärung
1
new DataView(buffer)
Erstellt eine Ansicht über den rohen Speicherpuffer für strukturierten Zugriff.
2
view.setUint32(0, ..., false)
Schreibt 4 Bytes ab Offset 0 unter Verwendung der Big-Endian-Bytereihenfolge.