標籤:var 二進位 位元組 node 其他 對象 hex 編碼方式 tcp
JavaScript 語言自身只有字串資料型別,沒有位元據類型。但在處理像TCP流或檔案流時,必須使用到位元據。因此在 Node.js中,定義了一個 Buffer 類,該類用來建立一個專門存放位元據的緩衝區,可以讓 Node.js 處理位元據,每當需要在 Node.js 中處理I/O操作中移動的資料時,就有可能使用 Buffer 庫,一個 Buffer 類似於一個整數數組,但它對應於 V8 堆記憶體之外的一塊原始記憶體。
建立 Buffer 對象(3種方式)
var buf = new Buffer(10); //建立長度為 10 位元組的 Buffer 執行個體
var buf = new Buffer([10, 20, 30, 40, 50]); //通過給定的數組建立 Buffer 執行個體
var buf = new Buffer("www.runoob.com", "utf-8"); //通過一個字串來建立 Buffer 執行個體,utf-8 是預設的編碼方式,其他編碼"ascii", "utf8", "utf16le", "ucs2", "base64" 和 "hex"。
寫入緩衝區(2種方式)
var buf = new Buffer(10);buf.write("helloWorld");
var buf = new Buffer(26);for (var i = 0 ; i < 26 ; i++) { buf[i] = i + 97;}console.log(buf.toString(‘utf8‘)); // 輸出: abcdefghijklmnopqrstuvwxyz // 預設為utf8 可不填
返回 JSON 對象。
var buf = new Buffer(‘www.runoob.com‘);var json = buf.toJSON(buf);console.log(json); //輸出為 [ 119, 119, 119, 46, 114, 117, 110, 111, 111, 98, 46, 99, 111, 109 ]
緩衝區合并
var buffer1 = new Buffer(‘菜鳥教程 ‘);var buffer2 = new Buffer(‘www.runoob.com‘);var buffer3 = Buffer.concat([buffer1,buffer2]);console.log("buffer3 內容: " + buffer3.toString()); //輸出為 buffer3 內容: 菜鳥教程 www.runoob.com
Node.js之Buffer