Maison  >  Article  >  interface Web  >  Comment convertir un tampon en tableau dans nodejs

Comment convertir un tampon en tableau dans nodejs

PHPz
PHPzoriginal
2023-04-17 16:45:001814parcourir

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
}
  1. Utilisez l'opérateur spread pour convertir le tampon en tableau.
function buffer2Array2(buf) {
  return [...buf]
}
  1. Utilisez la fonction map pour convertir le tampon en tableau.
function buffer2Array3(buf) {
  return Array.prototype.map.call(buf, (x) => x)
}
  1. Utilisez la fonction from pour convertir le tampon en un tableau de type Uint8Array.
function buffer2Array4(buf) {
  return Array.from(new Uint8Array(buf))
}

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)
})

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!

Déclaration:
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