JavaScript 語言自身只有字符串數(shù)據(jù)類型逻族,沒有二進制的數(shù)據(jù)類型。
但在處理像TCP 流或文件流時免猾, 必須使用到二進制的數(shù)據(jù)岂嗓。 因此在Node.js中互站,定義了一個Buffer類私蕾,該類用來創(chuàng)建一個專門存放二進制數(shù)據(jù)的緩存區(qū)。
在Node.js中胡桃,Buffer類是隨Node內核一起發(fā)布的核心庫是目。Buffer庫為Node.js 帶來了一種存儲原始數(shù)據(jù)的方法, 可以讓Node.js處理二進制數(shù)據(jù)标捺,每當需要在Node.js中處理I/O操作中移動的數(shù)據(jù)時懊纳, 就有可能使用Buffer庫揉抵。原始數(shù)據(jù)存儲在Buffer類的實例中。 一個Buffer類似于一個整數(shù)數(shù)組嗤疯, 但它對應于V8 堆內存之外的一塊原始內存冤今。
創(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是默認的編碼方式茂缚, 此外它同樣支持以下編碼:“ascii”,"utf8","utf16le","usc2","base64"和“hex”戏罢。