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
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-endianview.setFloat32(0, 3.14159, true);// Set a 16-bit unsigned int at offset 4, big-endianview.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).