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

首頁 > 開發 > JS > 正文

nodejs基礎之buffer緩沖區用法分析

2024-05-06 16:47:17
字體:
來源:轉載
供稿:網友

本文實例講述了nodejs基礎之buffer緩沖區用法。分享給大家供大家參考,具體如下:

JavaScript 語言自身只有字符串數據類型,沒有二進制數據類型。但在處理像TCP流或文件流時,必須使用到二進制數據。因此在 Node.js中,定義了一個 Buffer 類,該類用來創建一個專門存放二進制數據的緩存區。在 Node.js 中,Buffer 類是隨 Node 內核一起發布的核心庫。Buffer 庫為 Node.js 帶來了一種存儲原始數據的方法,可以讓 Node.js 處理二進制數據,每當需要在Node.js 中處理I/O操作中移動的數據時,就有可能使用 Buffer 庫。原始數據存儲在 Buffer 類的實例中。一個 Buffer 類似于一個整數數組,但它對應于 V8 堆內存之外的一塊原始內存。

創建buffer類

1、創建長度為指定字節的buffer實例

var buffer = new Buffer(10); //創建長度為10字節的buffer實例

2、通過數組創建buffer實例

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

3、通過一個字符串來創建buffer實例

var buffer = new Buffer('www.google.com','utf-8');//utf-8 是默認的編碼方式,此外還可以指定以下編碼:"ascii", "utf8", "utf16le", "ucs2", "base64" 和 "hex"

緩沖區長度

語法:

buf.length;

返回值:

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

實例:

var buffer = new Buffer('www.runoob.com');// 緩沖區長度console.log("buffer length: " + buffer.length); //buffer length: 14

寫入緩沖區

語法:

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

參數:

  • string:寫入緩沖區的字符串。
  • offset:緩沖區開始寫入的索引值,默認為 0 。
  • length:寫入的字節數,默認為 buffer.length
  • encoding:使用的編碼。默認為 'utf8' 。

返回值:

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

實例:

buf = new Buffer(256);len = buf.write("www.runoob.com");console.log("寫入字節數 : "+ len); //寫入字節數 : 14

從緩沖區讀取數據

語法:

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

參數:

  • encoding:使用的編碼,默認為utf-8
  • start:指定開始讀取的索引位置,默認為0
  • end:指定讀取的結束位置,默認為緩沖區的末尾

返回值:

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

實例:

buf = new Buffer(26);for (var i = 0 ; i < 26 ; i++) { buf[i] = i + 97;}console.log( buf.toString('ascii'));  // 輸出: abcdefghijklmnopqrstuvwxyzconsole.log( buf.toString('ascii',0,5)); // 輸出: abcdeconsole.log( buf.toString('utf8',0,5)); // 輸出: abcdeconsole.log( buf.toString(undefined,0,5)); // 使用 'utf8' 編碼, 并輸出: abcde

buffer對象轉換成json對象

語法:

toJSON()方法

返回值:

json對象

實例:

var buf = new Buffer('www.google.com');var json = buf.toJSON(buf);console.log(json); //[ 119, 119, 119, 46, 103, 111, 111, 103, 108, 101, 46, 99, 111, 109 ]

緩沖區合并

語法:

Buffer.concat(list[, totalLength])

參數:

  • list:用于合并的 Buffer 對象數組列表。
  • totalLength:指定合并后Buffer對象的總長度。

返回值:

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

實例:

var buf1 = new Buffer("谷歌網址:");var buf2 = new Buffer("www.google.com");var buf3 = Buffer.concat([buf1,buf2]);console.log('buf1的內容為:'+buf1.toString()); //buf1的內容為:谷歌網址:console.log('buf2的內容為:'+buf2.toString()); //buf2的內容為:www.google.comconsole.log('buf3的內容為:'+buf3.toString()); //buf3的內容為:谷歌網址:www.google.com

緩沖區拷貝

語法:

buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd])

參數:

參數描述如下:

  • targetBuffer - 要拷貝的 Buffer 對象。
  • targetStart - 數字, 可選, 默認: 0
  • sourceStart - 數字, 可選, 默認: 0
  • sourceEnd - 數字, 可選, 默認: buffer.length

返回值:

沒有返回值。

實例:

var buf1 = new Buffer('ABC');// 拷貝一個緩沖區var buf2 = new Buffer(2);var buf3 = new Buffer(3);var buf4 = new Buffer(5);var buf5 = new Buffer('abcdef');buf1.copy(buf2);buf1.copy(buf3);buf1.copy(buf4);buf1.copy(buf5);console.log("buf2 content: " + buf2.toString()); //buf2 content: ABconsole.log("buf3 content: " + buf3.toString()); //buf3 content: ABCconsole.log("buf4 content: " + buf4.toString()); //buf4 content: ABC 因為開辟出來的內存大了些,所以這里接一堆怪符號console.log("buf5 content: " + buf5.toString()); //buf5 content: ABCdef

緩沖區裁剪

語法:

buf.slice([start][, end])

參數:

參數描述如下:

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

返回值:

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

實例:

var buffer1 = new Buffer('runoob');// 剪切緩沖區var buffer2 = buffer1.slice(0,2);console.log("buffer2 content: " + buffer2.toString()); //buffer2 content: ru

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
57pao成人永久免费视频| 国产成人激情小视频| 亚洲**2019国产| 欧美精品免费播放| 亚洲国产美女精品久久久久∴| www.久久久久| 欧美日韩国产在线播放| 欧洲成人免费aa| 欧美日韩中国免费专区在线看| 亚洲精选中文字幕| 精品五月天久久| 国产精品久久久久久久久粉嫩av| 久久伊人91精品综合网站| 亚洲成色999久久网站| 亚洲第一页自拍| 日韩中文字幕不卡视频| 久久99国产综合精品女同| 日本高清视频精品| 欧美放荡办公室videos4k| 亚洲天堂av综合网| 精品国产一区二区三区久久狼黑人| 91免费福利视频| 日韩暖暖在线视频| 国产精品免费电影| 97精品久久久中文字幕免费| 精品国产乱码久久久久久虫虫漫画| 亚洲欧美综合精品久久成人| 亚洲国产精品成人va在线观看| 欧美日韩国产综合新一区| 精品国产一区二区三区四区在线观看| 亚洲精品www久久久久久广东| 国产精品爽爽爽爽爽爽在线观看| 热久久免费视频精品| 久久久久久国产精品三级玉女聊斋| 欧美激情按摩在线| 成人精品一区二区三区| 欧美大胆在线视频| 亚洲国产高潮在线观看| 欧美精品国产精品日韩精品| 欧美尤物巨大精品爽| 亚洲一区二区三区视频| 韩剧1988在线观看免费完整版| 国产日韩精品在线观看| 亚洲视频自拍偷拍| 久久在线视频在线| 久久91超碰青草是什么| 国产精品久久久久久久久借妻| 97在线视频观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产成人精品在线| 亚洲成人a级网| 欧美大片免费观看在线观看网站推荐| 国产精品一区二区av影院萌芽| 91国内揄拍国内精品对白| 欧美裸体xxxx极品少妇软件| 国产69精品久久久久99| 日韩中文字幕免费看| 深夜成人在线观看| 日韩小视频在线观看| 欧美在线性爱视频| 亚洲v日韩v综合v精品v| 欧美xxxx14xxxxx性爽| 国产精品视频色| 日韩中文在线中文网在线观看| 亚洲激情在线视频| 亚洲无亚洲人成网站77777| 亚洲精品456在线播放狼人| 国产精品亚洲自拍| 精品福利樱桃av导航| 中文字幕免费国产精品| 九色精品美女在线| 欧美激情欧美激情| 色爱av美腿丝袜综合粉嫩av| 亚洲成人久久电影| 国产玖玖精品视频| 最近2019年手机中文字幕| 日韩激情av在线免费观看| 一本一本久久a久久精品综合小说| 欧美大片在线影院| 国产精品久久久久久久久影视| 日韩av快播网址| 亚洲国产精品久久久久久| 91亚洲精品视频| 国产精品精品一区二区三区午夜版| 日韩免费看的电影电视剧大全| 亚洲另类激情图| 国产主播精品在线| 亚洲国产婷婷香蕉久久久久久| 国产精品人成电影| 欧美成人第一页| 久久久亚洲福利精品午夜| 奇米4444一区二区三区| 欧美疯狂性受xxxxx另类| 欧美自拍大量在线观看| 欧美日韩另类视频| 欧美午夜片欧美片在线观看| 日韩欧美一区二区三区| 日韩av在线最新| 欧美尤物巨大精品爽| 久久精品久久精品亚洲人| 国产精品久久久久久婷婷天堂| 国产精品中文在线| 中文字幕日韩av| 亚洲一级一级97网| 欧美一区二区视频97| 亚洲精品suv精品一区二区| 国产成人精品一区二区三区| 久久综合88中文色鬼| 中文字幕无线精品亚洲乱码一区| 精品美女永久免费视频| 亚洲日本中文字幕免费在线不卡| 日韩视频欧美视频| 久久久久久久久久久成人| 91影院在线免费观看视频| 伊人久久久久久久久久| 91影视免费在线观看| 亚洲精品久久久久久久久久久久久| 欧美性生活大片免费观看网址| 韩国视频理论视频久久| 日韩理论片久久| 日韩av综合网| 久久久噜噜噜久久中文字免| 九九综合九九综合| 国产成人精品视频在线观看| 亚洲999一在线观看www| 国产午夜精品麻豆| 91久久久亚洲精品| 55夜色66夜色国产精品视频| 91精品国产高清自在线| 久久久久久久久久久人体| 2019国产精品自在线拍国产不卡| 另类图片亚洲另类| 成人欧美一区二区三区黑人孕妇| 欧美性xxxxx极品娇小| 精品激情国产视频| 成人在线视频网| 精品久久久久久久久久| 日韩的一区二区| 久久精品国产亚洲精品2020| 国产精品久久电影观看| 色中色综合影院手机版在线观看| 国产精品啪视频| 欧美一级高清免费播放| 插插插亚洲综合网| 国产91精品高潮白浆喷水| 久久乐国产精品| 亚洲精品动漫100p| 国产欧美一区二区白浆黑人| 亚洲欧美国产日韩天堂区| 日韩大陆欧美高清视频区| 亚洲成色777777在线观看影院| 欧美激情视频在线免费观看 欧美视频免费一| 中文字幕日韩在线视频| 亚州国产精品久久久| 夜夜躁日日躁狠狠久久88av| 久久精品国产免费观看| 91精品久久久久久久久久久久久久| 亚洲第一福利网站| 亚洲影院色在线观看免费| 欧美精品情趣视频| 日韩最新中文字幕电影免费看| 欧美激情免费看| 久久成人精品一区二区三区| 亚洲人成网站999久久久综合|