国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:43:49
字體:
來源:轉載
供稿:網友

本文實例講述了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            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 富源县| 绩溪县| 综艺| 江西省| 平凉市| 靖边县| 眉山市| 抚顺县| 灯塔市| 灵山县| 固安县| 巴彦县| 常州市| 新巴尔虎左旗| 磐安县| 宜昌市| 漳平市| 抚顺县| 北海市| 和顺县| 玉树县| 郯城县| 柞水县| 嵊州市| 洞头县| 荔波县| 肥东县| 武宁县| 上虞市| 涞源县| 景德镇市| 高陵县| 新巴尔虎左旗| 古蔺县| 枣庄市| 锡林郭勒盟| 华容县| 延长县| 密云县| 澜沧| 新闻|