Node.js Puffer erklärt

Was sind Puffer?

Binär ist einfach ein Set oder eine Sammlung von 1und 0. Jede Zahl in einer Binärdatei, jede 1 und 0 in einer Menge wird als Bit bezeichnet . Der Computer konvertiert die Daten in dieses Binärformat, um Vorgänge zu speichern und auszuführen. Im Folgenden sind beispielsweise fünf verschiedene Binärdateien aufgeführt:

10, 01, 001, 1110, 00101011

JavaScript enthält keine Bytetypdaten in seiner Kern-API. Zur Verarbeitung von Binärdaten enthält Node.js eine Binärpuffer-Implementierung mit einem globalen Modul namens Buffer.

Puffer erstellen

Es gibt verschiedene Möglichkeiten, einen Puffer in Node.js zu erstellen. Sie können einen leeren Puffer mit einer Größe von 10 Byte erstellen.

const buf1 = Buffer.alloc(10);

Aus UTF-8-codierten Zeichenfolgen sieht die Erstellung folgendermaßen aus:

const buf2 = Buffer.from('Hello World!');

Beim Erstellen eines Puffers werden unterschiedliche Codierungen akzeptiert:

  • ASCII
  • utf-8
  • base64:
  • latin1
  • binär
  • verhexen

In der Puffer-API sind drei separate Funktionen zugewiesen, mit denen neue Puffer verwendet und erstellt werden können. In obigen Beispielen haben wir gesehen , alloc()und from(). Der dritte ist allocUnsafe().

const buf3 = Buffer.allocUnsafe(10);

Bei der Rückgabe enthält diese Funktion möglicherweise alte Daten, die überschrieben werden müssen.

Wechselwirkungen mit Puffer

Es gibt verschiedene Interaktionen, die mit der Puffer-API durchgeführt werden können. Wir werden die meisten hier behandeln. Beginnen wir mit der Konvertierung eines Puffers in JSON.

let bufferOne = Buffer.from('This is a buffer example.'); console.log(bufferOne); // Output:  let json = JSON.stringify(bufferOne); console.log(json); // Output: {"type": "Buffer", "data": [84,104,105,115,32,105,115,32,97,32,98,117,102,102,101,114,32,101,120,97,109,112,108,101,46]}

Der JSON gibt an, dass der zu transformierende Objekttyp ein Puffer ist und seine Daten. Das Konvertieren eines leeren Puffers in JSON zeigt, dass er nur Nullen enthält.

const emptyBuf = Buffer.alloc(10); emptyBuf.toJSON(); // Output: { "type": "Buffer", "data": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] }

Beachten Sie, dass die Puffer-API auch eine direkte Funktion toJSON()zum Konvertieren eines Puffers in ein JSON-Objekt bietet . Um die Größe eines Puffers zu untersuchen, können wir die lengthMethode verwenden.

emptyBuf.length; // Output: 10

Lassen Sie uns nun den Puffer in eine lesbare Zeichenfolge konvertieren, in unserem Fall die codierte utf-8.

console.log(bufferOne.toString('utf8')); // Output: This is a buffer example.

.toString()Standardmäßig konvertiert ein Puffer in eine Zeichenfolge im utf-8-Format. So dekodieren Sie einen Puffer. Wenn Sie eine Codierung angeben, können Sie den Puffer in eine andere Codierung konvertieren

console.log(bufferOne.toString('base64'));

Weitere Infos zu Puffern:

  • Benötigen Sie ein besseres Verständnis der Puffer in Node.js? Überprüfen Sie dies heraus.