Heim > Artikel > Web-Frontend > So konvertieren Sie einen Puffer in ein Array in NodeJS
Pufferobjekte werden häufig für die Dateneingabe und -ausgabe in Node.js verwendet, aber in einigen Szenarien müssen Puffer in Arrays konvertiert werden. In diesem Artikel erfahren Sie, wie Sie in Node.js einen Puffer in ein Array konvertieren.
Über das Pufferobjekt
Das Pufferobjekt ist ein Objekt in Node.js, das auf die Verarbeitung von Binärdaten spezialisiert ist. Es ähnelt einem Array, speichert jedoch Bytes anstelle von 32-Bit-Ganzzahlen. Die zugrunde liegende Implementierung des Pufferobjekts verwendet C++, um die Effizienz zu verbessern und ein schnelles Lesen und Schreiben von Datenströmen zu ermöglichen.
In Node.js verwenden wir normalerweise Pufferobjekte für Netzwerkkommunikation, Dateioperationen usw. Das Pufferobjekt hat ein breites Spektrum an Verwendungsszenarien und kann als einer der Kerne von Node.js betrachtet werden.
Über Arrays
In der konventionellen Programmierung sind Arrays einer der am häufigsten verwendeten Datentypen. Verschiedene Arten von Daten können gespeichert und auf viele verschiedene Arten bearbeitet werden, z. B. durch Hinzufügen, Löschen, Ändern und Überprüfen.
In JavaScript gehören Arrays auch zu den am häufigsten verwendeten Datentypen. JS-Arrays sind besonders flexibel. Sie können verschiedene Arten von Daten speichern und viele funktionale Programmiermethoden können zum Bearbeiten von Arrays verwendet werden.
Puffer zu Array
In Node.js müssen wir für den Betrieb häufig Puffer in Array konvertieren. Hier sind einige Methoden zum Konvertieren eines Puffers in ein Array:
function buffer2Array1(buf) { const arr = [] for (let i = 0; i < buf.length; i++) { arr.push(buf[i]) } return arr }
function buffer2Array2(buf) { return [...buf] }
function buffer2Array3(buf) { return Array.prototype.map.call(buf, (x) => x) }
function buffer2Array4(buf) { return Array.from(new Uint8Array(buf)) }
Unter den oben genannten Methoden ist die erste Methode die einfachste, aber hinsichtlich der Leistung etwas unzureichend. Die zweite Methode verwendet den prägnanten Spread-Operator, der die Leistung im Vergleich zur ersten Methode verbessert. Die dritte Methode verwendet die ES5-Funktion Array.prototype.map, die möglicherweise besser lesbar ist, aber auch einige Leistungseinbußen mit sich bringt. Die letzte Methode besteht darin, ArrayBuffer-bezogene Methoden für die Konvertierung zu verwenden, was hinsichtlich der Leistung eine relativ bessere Leistung erbringt.
Beispieldemonstration
In einem einfachen Beispiel können Sie die obige Methode direkt aufrufen, um einen Puffer in ein Array umzuwandeln. Das Folgende ist ein Beispiel für eine praktische Anwendung:
const fs = require('fs') const fileName = 'test.txt' fs.readFile(fileName, (err, data) => { if (err) { console.error(err) return } const arr1 = buffer2Array1(data) const arr2 = buffer2Array2(data) const arr3 = buffer2Array3(data) const arr4 = buffer2Array4(data) console.log(arr1) console.log(arr2) console.log(arr3) console.log(arr4) })
In diesem Code verwenden wir das fs-Modul von Node.js, um eine Datei zu lesen, sie dann in ein Array zu konvertieren und die Ergebnisse der vier Methoden auszugeben.
Summary
Pufferobjekt ist ein Objekt in Node.js, das auf die Verarbeitung von Binärdaten spezialisiert ist, und Array ist einer der am häufigsten verwendeten Datentypen. In Node.js müssen wir Puffer für Operationen häufig in Arrays konvertieren. In diesem Artikel werden vier Methoden zum Konvertieren von Puffer in Array vorgestellt und ein tatsächliches Anwendungsszenario anhand eines Beispiels demonstriert.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen Puffer in ein Array in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!