在Node.js中,Buffer類(lèi)是用于處理二進(jìn)制數(shù)據(jù)的實(shí)用工具。它是一個(gè)全局對(duì)象,可以在所有模塊中訪問(wèn),而無(wú)需使用
require
引入。
更多請(qǐng)查看Node.js中文文檔
創(chuàng)建Buffer對(duì)象
可以使用以下方法之一來(lái)創(chuàng)建一個(gè)新的Buffer對(duì)象:
-
使用字符串創(chuàng)建:
const buf = Buffer.from('Hello World', 'utf8');
-
使用數(shù)組創(chuàng)建:
const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
-
使用Buffer.alloc創(chuàng)建指定大小的Buffer對(duì)象:
const buf = Buffer.alloc(10);
Buffer對(duì)象的常用方法
1. Buffer.from(string[, encoding])
將一個(gè)字符串轉(zhuǎn)換為Buffer對(duì)象,其中encoding
參數(shù)是可選的,用于指定字符串的編碼方式,默認(rèn)為utf8
。
2. Buffer.from(array)
將一個(gè)數(shù)組轉(zhuǎn)換為Buffer對(duì)象。
3. Buffer.alloc(size[, fill[, encoding]])
創(chuàng)建一個(gè)指定大小的Buffer對(duì)象,其中fill
和encoding
參數(shù)都是可選的。fill
用于指定初始化時(shí)填充的值,默認(rèn)為0,encoding
用于指定編碼方式,默認(rèn)為utf8
。
4. buf.toString([encoding[, start[, end]]])
將一個(gè)Buffer對(duì)象轉(zhuǎn)換為字符串,其中encoding
、start
和end
參數(shù)都是可選的。encoding
用于指定編碼方式,默認(rèn)為utf8
,start
和end
用于指定轉(zhuǎn)換的起始和結(jié)束位置。
5. buf.toJSON()
將一個(gè)Buffer對(duì)象轉(zhuǎn)換為JSON對(duì)象。
6. buf.compare(otherBuffer)
比較兩個(gè)Buffer對(duì)象的大小,返回 -1
、0
或1
。表示第一個(gè)Buffer對(duì)象小于
、等于
或大于
第二個(gè)Buffer對(duì)象。
7. buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])
將一個(gè)Buffer對(duì)象復(fù)制到另一個(gè)Buffer對(duì)象中,其中targetStart
、sourceStart
和sourceEnd
參數(shù)都是可選的。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-485946.html
8. buf.slice([start[, end]])
提取一個(gè)Buffer對(duì)象的子集,其中start
和end
參數(shù)都是可選的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485946.html
示例
// 創(chuàng)建一個(gè)Buffer對(duì)象
const buf1 = Buffer.from('Hello World', 'utf8');
// 輸出Buffer對(duì)象
console.log(buf1); // <Buffer 48 65 6c 6c 6f 20 57 6f 72 6c 64>
// 將Buffer對(duì)象轉(zhuǎn)換為字符串
const str = buf1.toString('utf8');
console.log(str); // Hello World
// 比較兩個(gè)Buffer對(duì)象的大小
const buf2 = Buffer.from('hello world', 'utf8');
const result = buf1.compare(buf2);
console.log(result); // -1
// 復(fù)制一個(gè)Buffer對(duì)象
const buf3 = Buffer.alloc(5);
buf1.copy(buf3, 0, 0, 5);
console.log(buf3); // <Buffer 48 65 6c 6c 6f>
// 提取一個(gè)Buffer對(duì)象的子集
const buf4 = buf1.slice(0, 5);
console.log(buf4); // <Buffer 48 65 6c 6c 6f>
到了這里,關(guān)于Node.js:Buffer基礎(chǔ)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!