久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

深入了解Node.js中的 Buffer(緩沖區)

本篇文章帶大家深入了解下Node.js中的 Buffer(緩沖區),介紹一下創建 Buffer 類的多種方式、寫入緩沖區的方法等,希望對大家有所幫助!

深入了解Node.js中的 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("bianchengsanmei", "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("bi"); len = buf.write("bianchengsanmei");  console.log("寫入字節數 : "+  len);

執行以上代碼,輸出結果為:

$node main.js 寫入字節數 : 15復制代碼

從緩沖區讀取數據

語法

讀取 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'));       // 輸出: abcdefghijklmnopqrstuvwxyz console.log( buf.toString('ascii',0,5));   // 輸出: abcde console.log( buf.toString('utf8',0,5));    // 輸出: abcde console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 編碼, 并輸出: abcde

執行以上代碼,輸出結果為:

$ node main.js abcdefghijklmnopqrstuvwxyz abcde abcde abcde

將 Buffer 轉換為 JSON 對象

語法

將 Node Buffer 轉換為 JSON 對象的函數語法格式如下:

buf.toJSON()

返回值

返回 JSON 對象。

實例

var buf = new Buffer('bianchengsanmei'); var json = buf.toJSON(buf);   console.log(json);

執行以上代碼,輸出結果為:

{   type: 'Buffer',   data: [      98, 105, 97, 110, 99, 104, 101, 110, 103, 115, 97, 110, 109, 101, 105   ] }

緩沖區合并

語法

Node 緩沖區合并的語法如下所示:

Buffer.concat(list[, totalLength])

參數

參數描述如下:

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

返回值

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

實例

var buffer1 = new Buffer('編程三昧 '); var buffer2 = new Buffer('bi'); var buffer2 = new Buffer('bianchengsanmei'); var buffer3 = Buffer.concat([buffer1,buffer2]); console.log("buffer3 內容: " + buffer3.toString());

執行以上代碼,輸出結果為:

buffer3 內容: 編程三昧 bianchengsanmei

緩沖區比較

語法

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

buf.compare(otherBuffer);

參數

參數描述如下:

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

返回值

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

實例

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 + "之后"); }

執行以上代碼,輸出結果為:

ABC在ABCD之前

拷貝緩沖區

語法

Node 緩沖區拷貝語法如下所示:

buf.copy(target[, 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 content: " + buffer2.toString());

執行以上代碼,輸出結果為:

buffer2 content: ABC

緩沖區裁剪

Node 緩沖區裁剪語法如下所示:

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

參數

參數描述如下:

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

返回值

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

實例

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

執行以上代碼,輸出結果為:

buffer2 content: yo

緩沖區長度

語法 Node 緩沖區長度計算語法如下所示:

buf.length;

返回值

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

實例

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

執行以上代碼,輸出結果為:

buffer length: 15

~

~本文完,感謝閱讀!

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
91免费精品国偷自产在线在线| 中文精品视频| 国产福利一区二区精品秒拍| 亚洲精品一二三区区别| 97视频热人人精品免费| 国产视频一区二| 国产精品白丝久久av网站| 亚洲精品动态| 亚洲精品无播放器在线播放| 亚洲精品一二| 欧美一区激情| 国产精品xxxav免费视频| 国产精品白浆| 国产精品xxx在线观看| 国产日韩欧美一区在线| 欧美激情综合| 国际精品欧美精品| 久久久精品国产**网站| 老司机免费视频一区二区三区| 成人美女视频| 91久久黄色| 日韩精品一区二区三区免费视频| 亚洲九九精品| 视频一区中文字幕精品 | 高清久久一区| 欧美一区二区三区激情视频| 亚洲精品欧洲| 福利一区二区免费视频| 99国产精品久久久久久久成人热| 国产伦精品一区二区三区千人斩| 久久久久国产精品一区三寸| 亚洲香蕉久久| 一区二区三区四区在线观看国产日韩| 亚洲另类视频| 精品国产a一区二区三区v免费| 欧美 日韩 国产精品免费观看| 国产调教精品| 免费国产自久久久久三四区久久| 日韩专区欧美专区| 秋霞国产精品| 日本不卡不码高清免费观看| av免费不卡国产观看| 麻豆91精品| 亚洲午夜天堂| 国产色噜噜噜91在线精品| 亚洲高清二区| 国产精品v亚洲精品v日韩精品| 神马日本精品| 天堂va在线高清一区| 久久国产中文字幕| 国产一区二区三区国产精品| 日本亚洲视频| 国产日韩综合| 极品日韩av| 久久在线免费| 久久久久久夜| 老色鬼精品视频在线观看播放| 久久成人精品| 亚洲一区二区三区四区五区午夜 | 夜久久久久久| 电影91久久久| 麻豆精品视频在线观看免费| 国产日韩欧美高清免费| 四虎精品永久免费| 亚洲免费成人av在线| 综合激情网站| 好看不卡的中文字幕| 日韩精品免费一区二区三区| 国产精品成人a在线观看| 国产欧美日韩影院| 国内精品麻豆美女在线播放视频| 午夜在线观看免费一区| 亚洲美洲欧洲综合国产一区| 久久国产影院| 91精品韩国| 成人羞羞视频在线看网址| 色黄视频在线观看| 国产一区二区三区视频在线| 精品国产乱码久久久久久1区2匹| 国产精品s色| 久久精品一区二区三区中文字幕| 亚洲乱码视频| 日韩国产在线观看| 亚洲免费资源| 欧美国产三级| 97精品国产| 日韩毛片视频| 日韩精品一区第一页| 日韩一二三区在线观看| 你懂的亚洲视频| 国产精品99久久精品| 美女精品久久| 国产一区2区| 精品在线播放| 石原莉奈在线亚洲二区| 免费在线观看一区二区三区| 日韩欧美中文字幕在线视频| 日韩高清欧美激情| 麻豆极品一区二区三区| 亚洲美女久久精品| 久久成人亚洲| 麻豆精品新av中文字幕| 亚洲性色视频| 日本一不卡视频| 日韩在线观看| 91久久久精品国产| 日韩一区二区三区四区五区| 国产欧美二区| 女生影院久久| 欧美在线日韩| 欧美日韩三区| 国产在线观看91一区二区三区| 亚洲免费毛片| 五月精品视频| 久久久国产精品入口麻豆| 男女激情视频一区| 99久久亚洲精品| 欧美aa在线视频| 日韩av影院| 中文字幕av亚洲精品一部二部| 国精品产品一区| 久久99蜜桃| 国产精品va视频| 国产亚洲一卡2卡3卡4卡新区| 亚洲小说春色综合另类电影| 国产精品毛片在线| 久久99伊人| 亚洲日本免费电影| 亚洲资源网站| 欧美一区二区三区久久精品| 日本一区中文字幕| 日韩激情精品| 91久久精品无嫩草影院| 一区二区三区午夜视频| 日韩欧乱色一区二区三区在线| 最新国产拍偷乱拍精品| 欧美日韩国产亚洲一区| 视频一区欧美日韩| 日韩av中文在线观看| 国产精品115| 91av亚洲| 久久高清一区| 少妇高潮一区二区三区99| 国产私拍福利精品视频二区| 精品视频黄色| 99久久精品网| 亚洲精品动态| 高清精品久久| 99国产精品私拍| 青青草伊人久久| 国产激情久久| 亚洲欧美综合| 国产欧美丝祙| 欧美日韩一二| 69堂精品视频在线播放| 日韩国产欧美一区二区| 亚洲麻豆一区| 日本在线精品| 91精品国产经典在线观看 | 久久精品123| 日韩av字幕| 亚洲高清二区| 欧美国产另类| 蜜臀国产一区二区三区在线播放| 亚洲精品大全| 91精品xxx在线观看| 日本a口亚洲| 激情91久久| 久久中文字幕导航| 欧美极品中文字幕| 成人精品视频| 久久久影院免费| 欧美1级日本1级| 午夜欧美理论片| 国产在线欧美| 999国产精品| 伊人久久大香线蕉av不卡| 日韩精品1区| 天堂中文在线播放| 国产精品流白浆在线观看| 日韩高清在线不卡| 欧美亚洲专区| 国产精品igao视频网网址不卡日韩 | 日韩和欧美一区二区三区| 国产亚洲高清视频| 亚洲精品大片| 精品免费视频| 伊人精品一区| 国产精品腿扒开做爽爽爽挤奶网站| 国产一区亚洲| 亚洲天堂日韩在线| 四虎国产精品免费久久| 91精品国产自产精品男人的天堂| 午夜在线精品| 欧美在线不卡| 91免费精品| 视频一区二区三区在线| 欧美在线看片| 日韩中文首页| 婷婷综合电影|