Buffer 緩沖區(qū)

JavaScript 語言自身只有字符串?dāng)?shù)據(jù)類型,沒有二進制的數(shù)據(jù)類型。

但在處理像TCP 流或文件流時, 必須使用到二進制的數(shù)據(jù)。 因此在Node.js中,定義了一個Buffer類,該類用來創(chuàng)建一個專門存放二進制數(shù)據(jù)的緩存區(qū)。

在Node.js中,Buffer類是隨Node內(nèi)核一起發(fā)布的核心庫。Buffer庫為Node.js 帶來了一種存儲原始數(shù)據(jù)的方法, 可以讓Node.js處理二進制數(shù)據(jù),每當(dāng)需要在Node.js中處理I/O操作中移動的數(shù)據(jù)時, 就有可能使用Buffer庫。原始數(shù)據(jù)存儲在Buffer類的實例中。 一個Buffer類似于一個整數(shù)數(shù)組, 但它對應(yīng)于V8 堆內(nèi)存之外的一塊原始內(nèi)存。

創(chuàng)建Buffer 類


Node Buffer 類可以通過多種方式來創(chuàng)建。

方法1

創(chuàng)建長度為10字節(jié)的Buffer 實例:

var buf = new Buffer(10)

方法2

通過給定的數(shù)據(jù)創(chuàng)建Buffer實例:

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

方法3

通過一個字符串來創(chuàng)建Buffer實例:

var buf = new Buffer('www.runoob.com', 'utf-8')

utf-8是默認(rèn)的編碼方式, 此外它同樣支持以下編碼:“ascii”,"utf8","utf16le","usc2","base64"和“hex”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容