原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處
Buffer緩沖區(qū)
有關(guān)緩沖區(qū)的定義是這樣的avaScript 語(yǔ)言自身只有字符串?dāng)?shù)據(jù)類型,沒有二進(jìn)制數(shù)據(jù)類型。
但在處理像TCP流或文件流時(shí),必須使用到二進(jìn)制數(shù)據(jù)。因此在 Node.js中,定義了一個(gè) Buffer 類,該類用來創(chuàng)建一個(gè)專門存放二進(jìn)制數(shù)據(jù)的緩存區(qū)。
Buffer的功能類似于數(shù)組,因?yàn)槭莾?nèi)置的核心庫(kù),所以不需要require
而直接使用
var a=new Buffer('hello wxapp','utf-8'); 創(chuàng)建一個(gè)緩沖區(qū),并寫入數(shù)據(jù),設(shè)置編碼方式
var b=new Buffer(10); 創(chuàng)建一個(gè)長(zhǎng)度為10的緩沖區(qū)
緩沖區(qū)的寫入
var a=new Buffer('hello wxapp','utf-8');
a.write('I am dxq'); //寫入新數(shù)據(jù),其實(shí)也是覆蓋了原先的數(shù)據(jù)
a.write('the',2); //從索引值第二個(gè)開始重寫,緩沖區(qū)的內(nèi)容為hethe
后面還有設(shè)置寫入長(zhǎng)度與寫入的編碼方式的數(shù)據(jù),這里直接搬運(yùn)過來buf.write(string, [offset], [length], [encoding])
緩沖區(qū)的讀取
var a=new Buffer('hello wxapp','utf-8');
a.toString('utf-8',0,4); //'編碼方式',從哪一位開始讀,結(jié)束的位置
緩沖區(qū)在處理信息流量不統(tǒng)一的時(shí)候比較好用,雖然說還并沒有實(shí)際的體驗(yàn),感覺用處會(huì)不小
樓下歡迎吐槽指錯(cuò),打賞扔香蕉
晚安———————-世界