亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

web前端之了解node五:Buffer(緩沖區)

2024-04-27 15:16:01
字體:
來源:轉載
供稿:網友

web前端之了解node五:Buffer(緩沖區)

javaScript 語言自身只有字符串數據類型,沒有二進制數據類型。

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

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

創建 Buffer 類

Node Buffer 類可以通過多種方式來創建。

方法 1

創建長度為 10 字節的 Buffer 實例:

var buf = new Buffer(10);

方法 2

通過給定的數組創建 Buffer 實例:

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

方法 3

通過一個字符串來創建 Buffer 實例:

var buf = new Buffer(“www.runoob.com”, “utf-8”);

utf-8 是默認的編碼方式,此外它同樣支持以下編碼:”ascii”, “utf8”, “utf16le”, “ucs2”, “base64” 和 “hex”。

寫入緩沖區

語法

寫入 Node 緩沖區的語法如下所示:

buf.write(string[,offset[,length]][,encoding])

參數描述如下:

string- 寫入緩沖區的字符串。

offset- 緩沖區開始寫入的索引值,默認為 0 。

length- 寫入的字節數,默認為 buffer.length

encoding- 使用的編碼。默認為 ‘utf8’ 。

返回值

返回實際寫入的大小。如果 buffer 空間不足, 則只會寫入部分字符串。

實例:

buf=new Buffer(256);len=buf.write("www.baidu.com","utf-8");console.log("寫入字節長度:"+len);

運行:

node E:/study/node/main1.js

從緩沖區讀取數據

語法

讀取 Node 緩沖區數據的語法如下所示:

buf.toString([encoding[,start[,end]]])

參數描述如下:

encoding- 使用的編碼。默認為 ‘utf8’ 。

start- 指定開始讀取的索引位置,默認為 0。

end- 結束位置,默認為緩沖區的末尾。

返回值

解碼緩沖區數據并使用指定的編碼返回字符串。

實例:

buf=new Buffer(26);for(var i=0;i<26;i++){ buf[i]=i+97;}console.log(buf.toString('ascii'));console.log(buf.toString('ascii',0,5));console.log(buf.toString('utf8',0,5));console.log(buf.toString(undefined,0,5));//使用‘UTF8’編碼

運行:

node E:/study/node/main1.js

將 Buffer 轉換為 JSON 對象:

語法

將 Node Buffer 轉換為 JSON 對象的函數語法格式如下:buf.toJSON()

返回值

返回 JSON 對象。

實例:

var buf=new Buffer('www.baidu.com');var json=buf.toJSON(buf);console.log(json);

緩沖區合并

語法

Node 緩沖區合并的語法如下所示:Buffer.concat(list[,totalLength])

參數描述如下:

list- 用于合并的 Buffer 對象數組列表。

totalLength- 指定合并后Buffer對象的總長度。

返回值

返回一個多個成員合并的新 Buffer 對象。

實例:

var buffer1=new Buffer("abc");var buffer2=new Buffer("www.baidu.com");var buffer3=Buffer.concat([buffer1,buffer2],6);console.log(buffer3.toString());

緩沖區比較

語法

Node Buffer 比較的函數語法如下所示, 該方法在 Node.js v0.12.2 版本引入:buf.compare(otherBuffer);

參數描述如下:

otherBuffer- 與buf對象比較的另外一個 Buffer 對象。

返回值

返回一個數字,表示buf在otherBuffer之前,之后或相同。

實例:

var buffer1=new Buffer("abc");var buffer2=new Buffer("abcd");var result=buffer1.compare(buffer2);if(result<0){ console.log(buffer1+"在"+buffer2+"之前");}else if(result==0){ console.log(buffer1+"與"+buffer2+"相同");}else{ console.log(buffer1+"在"+buffer2+"之后");}

拷貝緩沖區

語法

Node 緩沖區拷貝語法如下所示:buf.copy(targetBuffer[,targetStart[,sourceStart[,sourceEnd]]])

參數描述如下:

targetBuffer- 要拷貝的 Buffer 對象。

targetStart- 數字, 可選, 默認: 0

sourceStart- 數字, 可選, 默認: 0

sourceEnd- 數字, 可選, 默認: buffer.length

實例:

var buffer1=new Buffer("ABC");//拷貝一個緩沖區var buffer2=new Buffer(3);buffer1.copy(buffer2);console.log(buffer2.toString());

緩沖區裁剪

語法

Node 緩沖區裁剪語法如下所示:buf.slice([start[,end]])

參數描述如下:

start- 數字, 可選, 默認: 0

end- 數字, 可選, 默認: buffer.length

返回值

返回一個新的緩沖區,它和舊緩沖區指向同一塊內存,但是從索引 start 到 end 的位置剪切。

實例:

var buffer1=new Buffer("ABCDEFG");var buffer2=buffer1.slice(1,5);console.log("buffer2 content:"+buffer2.toString());

緩沖區長度

語法

Node 緩沖區長度計算語法如下所示:buf.length;

返回值

返回 Buffer 對象所占據的內存長度。

實例:

var buffer1=new Buffer("ABCDEFG");console.log("buffer1 length:"+buffer1.length);

方法參考手冊

以下列出了 Node.js Buffer 模塊常用的方法

這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述 這里寫圖片描述

參考資料


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清不卡av| 久久精品国产一区| 日韩欧美综合在线视频| 国产成人在线播放| 黑人精品xxx一区| 久久久久久久久久久国产| 国产欧美精品一区二区三区-老狼| 精品激情国产视频| 亚洲成人网av| 久久视频这里只有精品| 国产精品久久久久久久久久99| 久久国产精品偷| 成人国产在线激情| 国产精品pans私拍| 91精品国产91久久久久久最新| 国产一区二区三区在线观看网站| 亚洲人成在线免费观看| 日韩专区在线观看| 日韩av在线一区二区| 欧美丝袜一区二区| 日韩精品中文字幕在线播放| 成人激情视频小说免费下载| 日韩欧美国产高清91| 国产精品香蕉国产| 91精品视频在线看| www日韩中文字幕在线看| 国产精品久久久久久一区二区| 亚洲iv一区二区三区| 国产有码在线一区二区视频| 国产日韩欧美中文| 两个人的视频www国产精品| 日韩欧美a级成人黄色| 日韩精品欧美国产精品忘忧草| 久久网福利资源网站| 亚洲欧洲日产国码av系列天堂| 米奇精品一区二区三区在线观看| 久久精品电影一区二区| 九九热在线精品视频| 国产精品扒开腿爽爽爽视频| 国产一区二区三区在线看| 日韩一区二区三区在线播放| 亚洲黄色免费三级| 97精品欧美一区二区三区| 九九久久久久99精品| 成人av番号网| 黄色成人在线播放| 欧美成人全部免费| 丝袜亚洲另类欧美重口| 国产精品女视频| 亚洲v日韩v综合v精品v| 影音先锋日韩有码| 国产91在线高潮白浆在线观看| 夜夜躁日日躁狠狠久久88av| 日韩中文字幕在线视频播放| 亚洲激情中文字幕| 这里只有精品丝袜| 国产成人一区三区| 国产精品久久激情| 亚洲夜晚福利在线观看| 国产欧美精品久久久| 91精品国产91久久久久久吃药| 久久人体大胆视频| 亚洲午夜精品视频| 成人精品一区二区三区电影免费| 亚洲一区二区在线播放| 欧美日韩成人在线播放| www.精品av.com| 色樱桃影院亚洲精品影院| 精品久久久久久久中文字幕| 亚洲人成人99网站| 亚洲人成在线一二| 国产日韩欧美中文在线播放| 亚洲第一av在线| 97在线观看免费| 97久久伊人激情网| 国产精品久久久久久五月尺| 中文字幕成人精品久久不卡| www.日韩视频| 亚洲xxx自由成熟| 国产成人精品一区二区三区| 精品亚洲一区二区三区| 伊人伊成久久人综合网站| 7m第一福利500精品视频| 精品欧美一区二区三区| 国产精品久久久久aaaa九色| 国产精品午夜视频| 国产精品精品视频一区二区三区| 一区二区三区天堂av| 欧洲成人在线观看| 深夜福利亚洲导航| 色噜噜狠狠狠综合曰曰曰| 国产精品精品国产| 九色成人免费视频| 亚洲视频欧洲视频| 91精品久久久久久| 亚洲精品美女视频| 午夜精品www| 啊v视频在线一区二区三区| 日韩精品高清视频| 国产欧美一区二区三区视频| 亚洲第一视频在线观看| 视频在线观看99| 久久色精品视频| 亚洲美女精品成人在线视频| 亚洲精品国产精品国自产观看浪潮| 最近2019免费中文字幕视频三| 国产精品主播视频| 蜜月aⅴ免费一区二区三区| 欧美综合一区第一页| 欧美在线免费观看| 91wwwcom在线观看| 国产在线视频不卡| 亚洲欧美日本伦理| 不卡av电影在线观看| 久久久91精品国产一区不卡| 久久久久久久久久久91| 午夜精品久久久久久久久久久久| 91日韩在线播放| 亚洲精品之草原avav久久| 亚洲天堂成人在线视频| 国产成人久久精品| 在线观看久久久久久| 在线观看国产精品淫| 日本一区二区三区在线播放| 国产精品美女主播在线观看纯欲| 久久久极品av| 亚洲一区第一页| 亚洲黄页视频免费观看| 国产福利精品视频| 中文字幕在线精品| 丝袜亚洲欧美日韩综合| 成人免费网站在线| 亚洲午夜精品视频| 国产亚洲欧美日韩精品| 成人免费视频在线观看超级碰| 久久久成人的性感天堂| 性欧美亚洲xxxx乳在线观看| 日韩在线观看成人| 中文字幕在线看视频国产欧美| 国产精品丝袜久久久久久不卡| 在线观看欧美成人| 日韩av综合网| 国产精品九九久久久久久久| 国产91在线播放| 欧美日韩精品中文字幕| 欧美黑人xxxx| 精品久久久久久久久久久久久| 8090成年在线看片午夜| 精品女同一区二区三区在线播放| 亚洲美女视频网站| 欧美另类69精品久久久久9999| 亚洲欧美日韩中文在线| 欧美电影免费观看大全| 国产成人精品综合久久久| 精品偷拍各种wc美女嘘嘘| 国产亚洲欧美日韩精品| 日韩高清免费在线| 精品无码久久久久久国产| 国模精品视频一区二区| 欧美午夜久久久| 欧美视频专区一二在线观看| 91久久久久久久久久久| 国内精品视频一区| 欧美日韩国产限制|