Maison >interface Web >js tutoriel >Une brève discussion sur l'utilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

Une brève discussion sur l'utilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

青灯夜游
青灯夜游avant
2021-11-09 09:39:532449parcourir

Cet article vous expliquera l'utilisation du module Buffer dans Nodejs et présentera la méthode d'encodage et de décodage Buffer des paquets de données binaires. J'espère qu'il vous sera utile !

Une brève discussion sur l'utilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

Aujourd'hui, nous découvrirons l'utilisation du module Buffer de Nodejs, ainsi que le package buffer npm actuellement couramment utilisé. [Apprentissage recommandé : "Tutoriel Nodejs"]

Tout d'abord, joignez l'adresse du document du tampon nodejs : https://nodejs.org/dist/latest-v16.x/docs/api/buffer.html

Comment pour créer un tampon

Il existe deux méthodes couramment utilisées pour créer un tampon :

1 Buffer.alloc(size) : Créer un tampon d'une longueur spécifiée

console.log(Buffer.alloc(20));

Résultat :

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

2. from() : Crée un tampon à partir d'une structure existante

console.log(Buffer.from("fsfdfafd"));
console.log(Buffer.from([1, 2, 3, 4]));

Result:

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

Buffer lecture et écriture

buf.writeInt8(value, offset)

value : le nombre à écrire dans le buffer

offset : Le nombre d'octets à sauter avant de commencer à écrire

let buffer1 = Buffer.from("fsfdfafd");
console.log(buffer1);
buffer1.writeInt8(127, 1);
console.log(buffer1);

Résultat :

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

D'après le résultat, nous pouvons voir que le contenu à l'offset 1 a été modifié.

buf.writeInt16BE(value, offset)

value : le nombre à écrire dans le tampon

offset : le nombre d'octets à ignorer avant de commencer à écrire

à la position de décalage spécifiée code>Résultat pour <code>offset位置大端

let buffer1 = Buffer.from("fsfdfafd");
console.log(buffer1);
buffer1.`writeInt16BE`(127, 1);
console.log(buffer1);

结果:

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

buf.writeInt16LE(value, offset)

value:要写入buffer的数字

offset:开始写入之前要跳过的字节数

在指定offset位置Big Endian

let buffer1 = Buffer.from("fsfdfafd");
console.log(buffer1);
buffer1.`writeInt16LE`(127, 1);
console.log(buffer1);

 :

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

Une brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binairesbuf.writeInt16LE(value, offset)

value : le nombre à écrire dans le tampon

offset : commencer à écrire Le nombre d'octets à ignorer avant
à la position de décalage spécifiée est

little endian

rrreee

Le résultat :

buffer npm packageUne brève discussion sur lutilisation du module Buffer dans Nodejs et voir comment encoder et décoder les paquets de données binaires

Nous Je l'ai brièvement présenté ci-dessus Méthodes de création, de lecture et d'écriture de tampon, mais dans notre processus de développement quotidien, il est trop difficile d'utiliser la méthode décrite ci-dessus pour encoder des fichiers binaires, nous introduisons donc ici le package npm pour écrire du tampon. Le package npm sur le tampon de nœud que nous allons présenter ici est protocol-buffers

. Voici son adresse npm : https://www.npmjs.com/package/protocol-buffers🎜🎜La documentation sur npm ayant clairement introduit l'utilisation de ce package, nous ne la répéterons pas ici. vous êtes intéressé, vous pouvez le vérifier. 🎜🎜🎜Conclusion🎜🎜🎜Aujourd'hui, nous avons appris les méthodes simples de lecture, d'écriture et de création de tampons, ainsi que l'utilisation du package de tampons de nœud. Eh bien, à la prochaine fois. Étudiez dur et progressez chaque jour ! 🎜🎜🎜🎜🎜Pour plus de connaissances sur la programmation, veuillez visiter : 🎜Vidéo de programmation🎜 ! ! 🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer