This article mainly introduces the relevant information about the detailed explanation of the Buffer buffer of the WeChat applet. Friends in need can refer to
The detailed explanation of the Buffer buffer of the WeChat applet
The JavaScript language itself only has string data types, not binary data types.
But when dealing with TCP streams or file streams, binary data must be used. Therefore, in Node.js, a Buffer class is defined, which is used to create a buffer area specifically for storing binary data.
In node.js, the Buffer class is a core library released with the Node kernel. The Buffer library brings a method of storing raw data to Node.js, allowing Node.js to process binary data. Whenever you need to process data moved during I/O operations in Node.js, it is possible to use the Buffer library. . Raw data is stored in instances of the Buffer class. A Buffer is similar to an integer array, but it corresponds to a piece of raw memory outside of the V8 heap memory.
Create Buffer
1.长度为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 buffer area.write()
var buf = new Buffer(200) var len = buf.write("www.csdn.net") console.log("写入字节数:" + len)
string - The string to write to the buffer.
offset - The index value at which the buffer starts to be written, default is 0.
length - Number of bytes written, defaults to buffer.length
encoding - Encoding used. Default is 'utf8' .
Cache area reading.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 to JSON
##
var buf = new Buffer('www.runoob.com'); var json = buf.toJSON(buf); console.log(json);
var buf = new Buffer("北京") var buf1 = new Buffer("上海") var buf2 = Buffer.concat([buf,buf1],12) console.log(buf2.toString())
Introduced in Node.js v0.12.2 version
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 + "之后"); }
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())
cut.slice( buffer2)
buf.slice([start[, end]])
start - number, optional, default: 0
end - number, optional, default: buffer.length
Returns a new buffer that is the same as the old The buffer points to the same memory, but is cut from index start to end.
var buf1 = new Buffer("beiJing") var buf2 = buf1.slice(0,8) console.log("buf2 content:"+buf2) // beiJing
Length.length
buf.length;
The above is the detailed content of Detailed explanation of examples of Buffer in WeChat applet. For more information, please follow other related articles on the PHP Chinese website!