0 Tage Serie
javascript / expert
Snippet

Binärprotokoll-Parsing 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 bei der Implementierung benutzerdefinierter Netzwerkprotokolle oder Dateiparser, die eine spezifische Byte-Reihenfolge erfordern.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer);
// Set a 32-bit float at offset 0, little-endian
view.setFloat32(0, 3.14159, true);
// Set a 16-bit unsigned int at offset 4, big-endian
view.setUint16(4, 0xABCD, false);
console.log(view.getFloat32(0, true)); // 3.14159
nodejs
Erklärung
1
new DataView(buffer);
Erstellt eine Ansicht, die granularen Zugriff auf die zugrunde liegenden Binärdaten ermöglicht.
2
view.setUint16(4, 0xABCD, false);
Schreibt einen 16-Bit-Integer an Byte 4 unter Verwendung der Big-Endian-Reihenfolge (false).