Comment convertir un tampon en tableau dans nodejs

PHPz
Libérer: 2023-04-17 16:50:30
original
1798 Les gens l'ont consulté

Les objets Buffer sont souvent utilisés pour l'entrée et la sortie de données dans Node.js, mais dans certains scénarios, les tampons doivent être convertis en tableaux. Cet article explique comment convertir un tampon en tableau dans Node.js.

À propos de l'objet tampon

L'objet tampon est un objet de Node.js spécialisé dans le traitement des données binaires. Il est similaire à un tableau, mais il stocke des octets au lieu d'entiers de 32 bits. L'implémentation sous-jacente de l'objet tampon utilise C++ pour améliorer l'efficacité et permettre une lecture et une écriture rapides des flux de données.

Dans Node.js, nous utilisons généralement des objets tampon pour la communication réseau, les opérations sur les fichiers, etc. L'objet tampon présente un large éventail de scénarios d'utilisation et peut être considéré comme l'un des cœurs de Node.js.

À propos des tableaux

Dans la programmation conventionnelle, les tableaux sont l'un des types de données les plus couramment utilisés. Différents types de données peuvent être stockés et utilisés de différentes manières, telles que l'ajout, la suppression, la modification et la vérification.

En JavaScript, les tableaux sont également l'un des types de données les plus couramment utilisés. Les tableaux JS sont particulièrement flexibles. Ils peuvent stocker différents types de données et de nombreuses méthodes de programmation fonctionnelle peuvent être utilisées pour fonctionner sur les tableaux.

Buffer to Array

Dans Node.js, nous devons souvent convertir le buffer en tableau pour le fonctionnement. Voici quelques méthodes pour convertir un tampon en tableau :

  1. Utilisez une boucle for pour parcourir le tampon, convertissez chaque octet en un nombre décimal et placez-le dans un tableau.
function buffer2Array1(buf) {
  const arr = []
  for (let i = 0; i < buf.length; i++) {
    arr.push(buf[i])
  }
  return arr
}
Copier après la connexion
  1. Utilisez l'opérateur spread pour convertir le tampon en tableau.
function buffer2Array2(buf) {
  return [...buf]
}
Copier après la connexion
  1. Utilisez la fonction map pour convertir le tampon en tableau.
function buffer2Array3(buf) {
  return Array.prototype.map.call(buf, (x) => x)
}
Copier après la connexion
  1. Utilisez la fonction from pour convertir le tampon en un tableau de type Uint8Array.
function buffer2Array4(buf) {
  return Array.from(new Uint8Array(buf))
}
Copier après la connexion

Parmi les méthodes ci-dessus, la première méthode est la plus simple, mais elle est légèrement insuffisante en termes de performances. La deuxième méthode utilise l'opérateur de répartition concise, ce qui améliore les performances par rapport à la première méthode. La troisième méthode utilise la fonction ES5 Array.prototype.map, qui peut être relativement plus lisible, mais entraînera également des pertes de performances. La dernière méthode consiste à utiliser des méthodes liées à ArrayBuffer pour la conversion, qui fonctionnent relativement mieux en termes de performances.

Exemple de démonstration

Dans un exemple simple, vous pouvez appeler directement la méthode ci-dessus pour convertir le tampon en tableau. Voici un exemple d'application pratique :

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)
})
Copier après la connexion

Dans ce code, nous utilisons le module fs de Node.js pour lire un fichier, puis le convertir en tableau et afficher les résultats des quatre méthodes. L'objet

Résumé

buffer est un objet dans Node.js spécialisé dans le traitement des données binaires, et le tableau est l'un des types de données couramment utilisés. Dans Node.js, nous avons souvent besoin de convertir des tampons en tableaux pour les opérations. Cet article présente quatre méthodes pour convertir un tampon en tableau et présente un scénario d'application réel avec un exemple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!