javascript / intermediate
Snippet
Manuelle Speicherverwaltung mit Buffers
Buffers werden verwendet, um Binärdaten in Node.js zu verarbeiten. Im Gegensatz zu Strings zeigen sie auf eine Speicherzuweisung fester Größe außerhalb des V8-Heaps. Die Verwendung von .subarray() erstellt eine Ansicht desselben Speichers, was effizient ist, aber bedeutet, dass Änderungen an der Ansicht das Original beeinflussen.
snippet.js
1
2
3
4
5
6
7
8
9
10
const buffer = Buffer.alloc(10); // Allocate 10 bytesbuffer.write('NodeJS', 0, 'utf-8');console.log(buffer.toString('hex'));const sub = buffer.subarray(0, 4);console.log(sub.toString()); // 'Node'sub.write('JS'); // Modifies the original buffer!console.log(buffer.toString()); // 'JSdeJS'
nodejs
Erklärung
1
const buffer = Buffer.alloc(10);
Erstellt einen mit Nullen gefüllten Buffer von 10 Bytes für sichere binäre Speicherung.
2
buffer.subarray(0, 4);
Erstellt eine neue Buffer-Ansicht, ohne den zugrunde liegenden Speicher zu kopieren.