javascript / expert
Snippet
Manipulation binärer Daten durch TypedArrays in Next.js Edge-Middleware
Hochperformante binäre Introspektionslogik für Next.js Edge-Route-Handler unter Verwendung von TypedArrays und DataView. Sie liest Rohdatenpuffer aus, liest vorzeichenlose 32-Bit-Ganzzahlen mit expliziter Endianness und berechnet eine XOR-Prüfsumme über binäre Datenblöcke.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export function verifyBinaryHeader(arrayBuffer, expectedMagicNumber) {if (!(arrayBuffer instanceof ArrayBuffer)) {throw new TypeError('Expected an ArrayBuffer instance');}const dataView = new DataView(arrayBuffer);if (dataView.byteLength < 4) {return false;}const magicHeader = dataView.getUint32(0, false);const payloadBytes = new Uint8Array(arrayBuffer, 4);return {isValid: magicHeader === expectedMagicNumber,checksum: payloadBytes.reduce((acc, byte) => (acc ^ byte) & 0xff, 0)};}
nextjs
Erklärung
1
const dataView = new DataView(arrayBuffer);
Erstellt einen DataView-Wrapper für den Zugriff auf Binärdaten mit strikter Kontrolle über Byte-Reihenfolge und Offsets.
2
const magicHeader = dataView.getUint32(0, false);
Liest eine vorzeichenlose 4-Byte-Big-Endian-Ganzzahl ab Offset 0, um die magische Signatur der Binärdaten zu prüfen.
3
checksum: payloadBytes.reduce((acc, byte) => (acc ^ byte) & 0xff, 0)
Iteriert durch das Byte-Array mit bitweisen XOR-Operationen zur Berechnung der Prüfsumme.