微信小程序 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 |