Maison  >  Article  >  interface Web  >  Node.js Buffer applique ce que vous apprenez

Node.js Buffer applique ce que vous apprenez

黄舟
黄舟original
2017-01-17 15:46:221124parcourir

Points d'apprentissage :

Écrire dans le tampon

Lire les données du tampon

Convertir le tampon en objet JSON

Fusionner les tampons

Copier le tampon

Découpage du tampon

Longueur du tampon

Node.js Buffer (buffer)

Cette classe est utilisée Créer une zone tampon spécifiquement pour stocker des données binaires

Créer la classe Buffer

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

[code]var buffer = new Buffer(10);

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

[code]var buffer = new Buffer([10, 20, 30, 40]);
Créer une instance Buffer à partir d'une chaîne
[code]var buffer = new Buffer('光明大神棍的博客', 'utf-8');
Écrire le tampon
[code]buffer.write(string[, offset, length, encoding])
参数
    string   必填 要输入缓冲区的字符串
    offset   可选 缓冲区开始写入的索引值,默认为 0 
    length   可选 写入的字节数,默认为 buffer.length
    encoding 可选 使用的编码。默认为 'utf8' 
返回值:
    实际写入的大小。如果 buffer 空间不足, 则只会写入部分字符串
Case : buffer.js
[code]var buffer = new Buffer(100);
var len = buffer.write('http://www.lamport.me/club');
console.log('事件输入的字符:' + len);

Node.js Buffer applique ce que vous apprenez

Lire les données du tampon

[code]buffer.toString([ending, start, end])
参数
    encoding - 使用的编码。默认为 'utf8' 。
    start - 指定开始读取的索引位置,默认为 0。
    end - 结束位置,默认为缓冲区的末尾。
返回值
    解码缓冲区数据并以指定编码返回字符串

Cas : buffer2.js

[code]var buffer = new Buffer(26);
for (var i = 0; i < 26; i++) {
    buffer[i] = i + 97;
}
console.log(buffer.toString(&#39;ascii&#39;));
console.log(buffer.toString(&#39;ascii&#39;, 0, 4));
console.log(buffer.toString(&#39;utf8&#39;, 0, 4));
console.log(buffer.toString(undefined, 0, 4));

Node.js Buffer applique ce que vous apprenez

Convertir le tampon en objet JSON

en JSON (buffer)

Cas : buffer3.js

[code]var buffer = new Buffer(&#39;http://www.lamport.me/club&#39;);
var data =buffer.toJSON(buffer);
console.log(data);

Node.js Buffer applique ce que vous apprenez

Fusionner les tampons

[code]Buffer.concat(list[, totalLength])
参数
    list - 用于合并的 Buffer 对象数组列表。
    totalLength - 指定合并后Buffer对象的总长度。

Cas : buffer4.js

[code]var bf1 = new Buffer("Hello ");
var bf2 = new Buffer("World");
var bf3 = Buffer.concat([bf1, bf2]);
console.log(bf3.toString());

Node.js Buffer applique ce que vous apprenez

Copier le tampon

[code]buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
参数
    targetBuffer - 要拷贝的 Buffer 对象。
    targetStart - 数字, 可选, 默认: 0
    sourceStart - 数字, 可选, 默认: 0
    sourceEnd - 数字, 可选, 默认: buffer.length
返回值
    没有返回值。

Cas : buffer5.js

[code]var buffer1 = new Buffer(&#39;ABC&#39;);
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log(buffer2.toString());

Node.js Buffer applique ce que vous apprenez

Découpage du tampon

[code]buf.slice([start[, end]])
参数
    start - 数字, 可选, 默认: 0
    end - 数字, 可选, 默认: buffer.length
返回值
    返回一个新的缓冲区,它和旧缓冲区指向同一块内存,但是从索引 start 到 end 的位置剪切。
Exemple : buffer6.js
[code]var buffer = new Buffer("ABCD");
var buffer2 = buffer.slice(0, 2);
console.log(buffer2.toString());

Node.js Buffer applique ce que vous apprenez

Longueur du tampon

[code]buf.length;
返回值
    返回 Buffer 对象所占据的内存长度。

Exemple : buffer7.js

[code]var buffer = new Buffer("abcd");
console.log(buffer.length);

Node.js Buffer applique ce que vous apprenez

Ce qui précède est ce que vous avez appris et appliqué dans Node.js Buffer Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


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