Tampon Node.js


Le langage JavaScript lui-même n'a que des types de données chaîne, pas des types de données binaires.

Mais lors du traitement de flux comme TCP ou de flux de fichiers, des données binaires doivent être utilisées. Par conséquent, dans Node.js, une classe Buffer est définie, qui est utilisée pour créer une zone tampon spécifiquement pour stocker les données binaires.

Dans Node.js, la classe Buffer est une bibliothèque principale livrée avec le noyau Node. La bibliothèque Buffer apporte une méthode de stockage de données brutes à Node.js, permettant à Node.js de traiter des données binaires. Chaque fois que vous avez besoin de traiter des données déplacées lors d'opérations d'E/S dans Node.js, il est possible d'utiliser la bibliothèque Buffer. . Les données brutes sont stockées dans des instances de la classe Buffer. Un Buffer est similaire à un tableau d'entiers, mais il correspond à un morceau de mémoire brute en dehors de la mémoire tas V8.


Création de la classe Buffer

La classe Node Buffer peut être créée de différentes manières.

Méthode 1

Créer une instance Buffer d'une longueur de 10 octets :

var buf = new Buffer(10);

Méthode 2

Créer une instance Buffer à partir du tableau donné :

var buf = new Buffer([10, 20, 30, 40, 50]);

Méthode 3

Créer une instance Buffer via une chaîne :

var buf = new Buffer("www.php.cn", "utf-8");

utf-8 est l'encodage par défaut, et il prend également en charge les encodages suivants : "ascii", " utf8", "utf16le", "ucs2", "base64" et "hex".


Write buffer

Syntaxe

La syntaxe d'écriture du Node buffer est la suivante :

buf.write(string[, offset[, length]][, encoding])

Paramètres

Les paramètres sont décrits comme suit :

  • string - la chaîne à écrire dans le tampon.

  • offset - La valeur d'index à laquelle le tampon commence à être écrit, la valeur par défaut est 0.

  • length - Nombre d'octets écrits, la valeur par défaut est buffer.length

  • encoding - l'encodage à utiliser. La valeur par défaut est 'utf8'.

Valeur de retour

Renvoie la taille réelle écrite. Si l'espace tampon est insuffisant, seule une partie de la chaîne sera écrite.

Instance

buf = new Buffer(256);
len = buf.write("www.php.cn");

console.log("写入字节数 : "+  len);

exécute le code ci-dessus et le résultat de sortie est :

$node main.js
写入字节数 : 14

Lire les données du tampon

Syntaxe

La syntaxe de lecture des données du tampon Node est la suivante :

buf.toString([encoding[, start[, end]]])

Paramètres

Les paramètres sont décrits comme suit :

  • encoding - L'encodage utilisé. La valeur par défaut est 'utf8'.

  • start - Spécifie la position de l'index pour commencer la lecture, la valeur par défaut est 0.

  • end - Position de fin, par défaut à la fin du tampon.

Valeur de retour

Décode les données du tampon et renvoie une chaîne en utilisant l'encodage spécifié.

Instance

buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}

console.log( buf.toString('ascii'));       // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   // 输出: abcde
console.log( buf.toString('utf8',0,5));    // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde

exécute le code ci-dessus, le résultat de sortie est :

$ node main.js
abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde

Convertir le tampon en objet JSON

Syntaxe

Le format de syntaxe de fonction pour convertir Node Buffer en objet JSON est le suivant :

buf.toJSON()

Valeur de retour

Renvoie l'objet JSON.

Instance

var buf = new Buffer('www.php.cn');
var json = buf.toJSON(buf);

console.log(json);

exécute le code ci-dessus et le résultat de sortie est :

[ 119, 119, 119, 46, 114, 117, 110, 111, 111, 98, 46, 99, 111, 109 ]

Fusion de tampon

Syntaxe

Node buffer La syntaxe de fusion de zones est la suivante :

Buffer.concat(list[, totalLength])

Paramètres

Les paramètres sont décrits comme suit :

  • list - Liste de tableaux d'objets Buffer à fusionner.

  • totalLength - Spécifie la longueur totale des objets Buffer fusionnés.

Valeur de retour

Renvoie un nouvel objet Buffer qui combine plusieurs membres.

Instance

var buffer1 = new Buffer('php中文网 ');
var buffer2 = new Buffer('www.php.cn');
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3 内容: " + buffer3.toString());

exécute le code ci-dessus et le résultat de sortie est :

buffer3 内容: php中文网 www.php.cn

Comparaison de tampon

Syntaxe

Node Buffer La syntaxe de la fonction de comparaison est la suivante. Cette méthode a été introduite dans Node.js v0.12.2 :

buf.compare(otherBuffer);

Paramètres

Les paramètres sont décrits comme suit :

  • otherBuffer - Un autre objet Buffer comparé à l'objet buf.

Valeur de retour

Renvoie un nombre indiquant que buf est avant, après ou identique à otherBuffer.

Instance

var buffer1 = new Buffer('ABC');
var buffer2 = new Buffer('ABCD');
var result = buffer1.compare(buffer2);

if(result < 0) {
   console.log(buffer1 + " 在 " + buffer2 + "之前");
}else if(result == 0){
   console.log(buffer1 + " 与 " + buffer2 + "相同");
}else {
   console.log(buffer1 + " 在 " + buffer2 + "之后");
}

exécute le code ci-dessus et le résultat de sortie est :

ABC在ABCD之前

Tampon de copie

Syntaxe

Node buffer La syntaxe de copie de zone est la suivante :

buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])

Parameters

La description du paramètre est la suivante :

  • targetBuffer - l'objet Buffer à copier.

  • targetStart - numéro, facultatif, par défaut : 0

  • sourceStart - numéro, facultatif , par défaut : 0

  • sourceEnd - Nombre, facultatif, par défaut : buffer.length

Valeur de retour

Aucune valeur de retour.

Instance

var buffer1 = new Buffer('ABC');
// 拷贝一个缓冲区
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log("buffer2 content: " + buffer2.toString());

exécute le code ci-dessus et le résultat de sortie est :

buffer2 content: ABC

Buffer clipping

La syntaxe de découpage du tampon de nœud est la suivante :

buf.slice([start[, end]])

Paramètres

Les paramètres sont décrits comme suit :

  • start - nombre, facultatif, par défaut : 0

  • end - Nombre, facultatif, par défaut : buffer.length

Valeur de retour

Renvoyer un new Buffer, qui pointe vers la même mémoire que l'ancien tampon, mais est coupé du début à la fin de l'index.

Instance

var buffer1 = new Buffer('php');
// 剪切缓冲区
var buffer2 = buffer1.slice(0,2);
console.log("buffer2 content: " + buffer2.toString());

exécute le code ci-dessus et le résultat de sortie est :

buffer2 content: ru

Longueur du tampon

Syntaxe

Node buffer La syntaxe de calcul de la longueur de la zone est la suivante :

buf.length;

Valeur de retour

Renvoie la longueur mémoire occupée par l'objet Buffer.

Instance

var buffer = new Buffer('www.php.cn');
//  缓冲区长度
console.log("buffer length: " + buffer.length);

Exécutez le code ci-dessus, le résultat de sortie est :

buffer length: 14

Manuel de référence de la méthode

Le module Node.js Buffer est répertoriées ci-dessous Méthodes couramment utilisées (notez que certaines méthodes ne sont pas disponibles dans les anciennes versions) :

Numéro de sérieMéthode et description
1nouveau tampon (taille)
Allouez une nouvelle taille de tampon en octets de 8 bits. Notez que la taille doit être inférieure à kMaxLength, sinon l'exception RangeError sera levée.
2new Buffer(buffer)
Copiez les données du paramètre buffer dans l'instance Buffer.
3new Buffer(str[, encoding])
Alloue un nouveau tampon, qui contient la chaîne str entrante. encoding l'encodage par défaut est 'utf8'.
4buf.length
Renvoie le nombre d'octets de ce tampon. Notez qu'il ne s'agit pas nécessairement de la taille du contenu du tampon. length est la quantité de mémoire allouée par l'objet tampon, et elle ne changera pas à mesure que le contenu de l'objet tampon change.
5buf.write(string[, offset[, length]][, encoding])
Selon le paramètre offset Shift et la méthode d'encodage spécifiée, écrivez les données de la chaîne de paramètres dans le tampon. La valeur par défaut de offset est 0 et la méthode de codage par défaut est utf8. length est la taille en octets de la chaîne à écrire. Renvoie un type de nombre indiquant combien de flux d'octets de 8 bits ont été écrits. Si le tampon ne dispose pas de suffisamment d’espace pour contenir la chaîne entière, il n’écrira qu’une partie de la chaîne. length est par défaut buffer.length - offset. Cette méthode n'écrira pas de caractères partiels.
6buf.writeUIntLE(value, offset, byteLength[, noAssert])
Écrire la valeur dans le tampon, c'est déterminé par offset et byteLength, et prend en charge les calculs 48 bits, par exemple :
var b = new Buffer(6);
b.writeUIntBE(0x1234567890ab, 0, 6);
// <Buffer 12 34 56 78 90 ab>
noAssert Lorsque la valeur est vraie, la validité de la valeur et du décalage n'est plus vérifiée. La valeur par défaut est faux.
7buf.writeUIntBE(value, offset, byteLength[, noAssert])
Écrire la valeur dans le tampon, c'est déterminé par offset et byteLength et prend en charge les calculs 48 bits. Lorsque la valeur noAssert est vraie, la validité de la valeur et du décalage n'est plus vérifiée. La valeur par défaut est faux.
8buf.writeIntLE(value, offset, byteLength[, noAssert])
Écrire la valeur dans le tampon, c'est déterminé par offset et byteLength et prend en charge les calculs 48 bits. Lorsque la valeur noAssert est vraie, la validité de la valeur et du décalage n'est plus vérifiée. La valeur par défaut est faux.
9buf.writeIntBE(value, offset, byteLength[, noAssert])
Écrire la valeur dans le tampon, c'est déterminé par offset et byteLength et prend en charge les calculs 48 bits. Lorsque la valeur noAssert est vraie, la validité de la valeur et du décalage n'est plus vérifiée. La valeur par défaut est faux.
10buf.readUIntLE(offset, byteLength[, noAssert])
Prend en charge la lecture des nombres inférieurs à 48 chiffres. Lorsque la valeur noAssert est vraie, offset ne vérifie plus si elle dépasse la longueur du tampon. La valeur par défaut est false.
11buf.readUIntBE(offset, byteLength[, noAssert])
Prend en charge la lecture des nombres inférieurs à 48 chiffres. Lorsque la valeur noAssert est vraie, offset ne vérifie plus si elle dépasse la longueur du tampon. La valeur par défaut est false.
12buf.readIntLE(offset, byteLength[, noAssert])
Prend en charge la lecture des nombres inférieurs à 48 chiffres. Lorsque la valeur noAssert est vraie, offset ne vérifie plus si elle dépasse la longueur du tampon. La valeur par défaut est false.
13buf.readIntBE(offset, byteLength[, noAssert])
Prend en charge la lecture des nombres inférieurs à 48 chiffres. Lorsque la valeur noAssert est vraie, offset ne vérifie plus si elle dépasse la longueur du tampon. La valeur par défaut est false.
14buf.toString([encoding[, start[, end]]])
Selon le paramètre d'encodage ( la valeur par défaut est 'utf8') renvoie un type de chaîne décodé. Il utilisera également les paramètres transmis start (la valeur par défaut est 0) et end (la valeur par défaut est buffer.length) comme plage de valeurs.
15buf.toJSON()
Convertit une instance Buffer en objet JSON.
16buf[index]
Obtient ou définit l'octet spécifié. La valeur de retour représente un octet, donc la plage légale de la valeur de retour est de 0x00 à 0xFF en hexadécimal ou de 0 à 255 en décimal.
17buf.equals(otherBuffer)
Compare si les deux tampons sont égaux, si c'est le cas, il renvoie vrai, sinon il renvoie faux .
18buf.compare(otherBuffer)
Compare deux objets Buffer et renvoie un nombre, indiquant que buf est avant otherBuffer. Après ou pareil.
19buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
copie tampon, source et la cible peut être la même. targetStart target start offset et sourceStart source start offset sont tous deux 0 par défaut. sourceEnd Le décalage de la position finale de la source est par défaut la longueur du buffer.length source.
20buf.slice([start[, end]])
Coupez l'objet Buffer en fonction du début (la valeur par défaut est 0 ) et end (la valeur par défaut est buffer.length ) décalent et coupent l'index. Les indices négatifs sont calculés à partir de la fin du buffer.
21buf.readUInt8(offset[, noAssert])
Lire une valeur signée basée sur le décalage spécifié de 8 bits entier. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Dans ce cas, le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
22buf.readUInt16LE(offset[, noAssert])
Utiliser des mots endian spéciaux basés sur le décalage spécifié Lectures au format séquentiel un entier signé de 16 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
23buf.readUInt16BE(offset[, noAssert])
Lit un entier signé de 16 bits en utilisant le format spécial d'ordre des octets endian au décalage spécifié. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
24buf.readUInt32LE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un entier signé de 32 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
25buf.readUInt32BE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un entier signé de 32 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
26buf.readInt8(offset[, noAssert])
Lire un 8 signé en fonction du nombre entier de bits de décalage spécifié. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
27buf.readInt16LE(offset[, noAssert])
Utiliser un format endian spécial basé sur le décalage spécifié Lire un signé Entier de 16 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
28buf.readInt16BE(offset[, noAssert])
Utiliser un format endian spécial basé sur le décalage spécifié Lire un signé Entier de 16 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
29buf.readInt32LE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un entier signé de 32 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
30buf.readInt32BE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un entier signé de 32 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
31buf.readFloatLE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un nombre à virgule flottante de 32 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
32buf.readFloatBE(offset[, noAssert])
Lit un nombre à virgule flottante de 32 bits en utilisant le format d'ordre des octets endian spécifié au décalage spécifié. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
33buf.readDoubleLE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un double de 64 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
34buf.readDoubleBE(offset[, noAssert])
Utiliser le mot endian spécifié en fonction du décalage spécifié Format séquentiel lit un double de 64 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que le décalage peut s'étendre au-delà de la fin du tampon. La valeur par défaut est faux.
35buf.writeUInt8(value, offset[, noAssert])
Convertir la valeur en fonction du décalage entrant offset Écrire dans tampon. Remarque : la valeur doit être un entier légal signé de 8 bits. Si le paramètre noAssert est vrai, le paramètre offset offset ne sera pas vérifié. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Ne l'utilisez que si vous êtes très sûr de ce paramètre. La valeur par défaut est faux.
36buf.writeUInt16LE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : la valeur doit être un entier légal signé de 16 bits. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
37buf.writeUInt16BE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Valeur d'écriture mettre en mémoire tampon au format endian. Remarque : la valeur doit être un entier légal signé de 16 bits. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
38buf.writeUInt32LE(value, offset[, noAssert])
Écrivez la valeur dans le tampon en fonction du décalage transmis et du format endian spécifié. Remarque : la valeur doit être un entier légal signé de 32 bits. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
39buf.writeUInt32BE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : la valeur doit être un entier légal signé de 32 bits. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
40buf.writeInt8(value, offset[, noAssert])<brOffset en fonction du offset entrant="" Le montant sera être écrit="" value="" to="" buffer="". Remarque : value="" doit être un entier legal="" signé="" à 8="" chiffres. ="" Si paramètre="" noassert="" est ="" true="" les paramètres de décalage ="" et ="" ne seront pas validés. ="" Cela signifie que ="" peut être trop grand, ou que ="" peut s'étendre au-delà de la fin de ="", provoquant la suppression de ="". ="" Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est="" false. <="" td="">
41buf.writeInt16LE(value, offset[, noAssert])
Écrivez la valeur dans le tampon en fonction du décalage entrant et du format endian spécifié. Remarque : la valeur doit être un entier signé de 16 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est false .
42buf.writeInt16BE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : la valeur doit être un entier signé de 16 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est false .
43buf.writeInt32LE(value, offset[, noAssert])
Écrivez la valeur dans le tampon en fonction du décalage transmis et du format endian spécifié. Remarque : la valeur doit être un entier signé de 32 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
44buf.writeInt32BE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : la valeur doit être un entier signé de 32 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
45buf.writeFloatLE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : Lorsque la valeur n'est pas une valeur à virgule flottante de 32 bits, le résultat sera indéfini. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
46buf.writeFloatBE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : Lorsque la valeur n'est pas une valeur à virgule flottante de 32 bits, le résultat sera indéfini. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
47buf.writeDoubleLE(value, offset[, noAssert])
Selon le décalage entrant et la spécification Écrire la valeur mettre en mémoire tampon au format endian. Remarque : la valeur doit être une valeur double de 64 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
48buf.writeDoubleBE(value, offset[, noAssert])
Écrivez la valeur dans le tampon en fonction du décalage transmis et du format endian spécifié. Remarque : la valeur doit être une valeur double de 64 bits valide. Si le paramètre noAssert est vrai, les paramètres value et offset offset ne seront pas vérifiés. Cela signifie que la valeur peut être trop grande ou que le décalage peut dépasser la fin du tampon, entraînant la suppression de la valeur. Sauf si vous êtes très sûr de ce paramètre, essayez de ne pas l'utiliser. La valeur par défaut est faux.
49buf.fill(value[, offset][, end])
Utiliser la valeur spécifiée pour remplir ce tampon . Si offset (la valeur par défaut est 0) et end (la valeur par défaut est buffer.length) ne sont pas spécifiés, la totalité du tampon sera remplie.