So konvertieren Sie einen Puffer in ein Array in NodeJS

PHPz
Freigeben: 2023-04-17 16:50:30
Original
1798 Leute haben es durchsucht

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:

  1. Verwenden Sie eine for-Schleife, um den Puffer zu durchlaufen, jedes Byte in eine Dezimalzahl umzuwandeln und es in ein Array einzufügen.
function buffer2Array1(buf) {
  const arr = []
  for (let i = 0; i < buf.length; i++) {
    arr.push(buf[i])
  }
  return arr
}
Nach dem Login kopieren
  1. Verwenden Sie den Spread-Operator, um Puffer in Array umzuwandeln.
function buffer2Array2(buf) {
  return [...buf]
}
Nach dem Login kopieren
  1. Verwenden Sie die Map-Funktion, um den Puffer in ein Array umzuwandeln.
function buffer2Array3(buf) {
  return Array.prototype.map.call(buf, (x) => x)
}
Nach dem Login kopieren
  1. Verwenden Sie die from-Funktion, um den Puffer in ein Array vom Typ Uint8Array zu konvertieren.
function buffer2Array4(buf) {
  return Array.from(new Uint8Array(buf))
}
Nach dem Login kopieren

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)
})
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!