微信小程序 Node.js Buffer:javascript JavaScript 語言自身只有字符串數據類型,沒有二進制數據類型。 建立Buffer1.長度爲10的實例 var buf = new Buffer(10) 2.經過給定的數組建立 var buf = new Buffer([10,20,30,40,50]) 3.經過字符串建立 var buf = new Buffer("www.csdn.net","utf-8") utf-8 是默認的編碼方式 支持如下編碼:"ascii", "utf8", "utf16le", "ucs2", "base64" 和 "hex"。 寫入緩存區.write()var buf = new Buffer(200) var len = buf.write("www.csdn.net") console.log("寫入字節數:" + len)
緩存區讀取.toString()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
Buffer轉JSONvar buf = new Buffer('www.runoob.com'); var json = buf.toJSON(buf); console.log(json); 合併 Buffer.concat([,])var buf = new Buffer("北京") var buf1 = new Buffer("上海") var buf2 = Buffer.concat([buf,buf1],12) console.log(buf2.toString())
比較 .compare(otherBuffer)在 Node.js v0.12.2 版本引入node var buffer1 = new Buffer("AVCX") var buffer2 = new Buffer("ACVV") 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 + "以後"); } 拷貝 .compare(buffer2)buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
var buf1 = new Buffer("beiJing") var buf2 = new Buffer(8) buf1.copy(buf2) console.log("buf2 content:"+buf2.toString()) 剪裁 .slice(buffer2)buf.slice([start[, end]])
var buf1 = new Buffer("beiJing") var buf2 = buf1.slice(0,8) console.log("buf2 content:"+buf2) // beiJing 長度 .lengthbuf.length; //返回這個 buffer 的 bytes 數。注意這未必是 buffer 裏面內容的大小。length 是 buffer 對象所分配的內存數,它不會隨着這個 buffer 對象內容的改變而改變。json |