Home  >  Article  >  WeChat Applet  >  Detailed explanation of examples of Buffer in WeChat applet

Detailed explanation of examples of Buffer in WeChat applet

黄舟
黄舟Original
2017-09-13 10:51:032833browse

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(&#39;ascii&#39;));    // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString(&#39;ascii&#39;,0,5));  // 输出: abcde
console.log( buf.toString(&#39;utf8&#39;,0,5));  // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 &#39;utf8&#39; 编码, 并输出: abcde

  1. encoding - The encoding used. Default is 'utf8' .

  2. start - Specifies the index position to start reading, default is 0.

  3. end - End position, defaults to the end of the buffer.

Buffer to JSON

##

var buf = new Buffer(&#39;www.runoob.com&#39;);
var json = buf.toJSON(buf);
console.log(json);

Merge Buffer.concat([,])

var buf = new Buffer("北京")
var buf1 = new Buffer("上海")
var buf2 = Buffer.concat([buf,buf1],12)
console.log(buf2.toString())

    list An array list of Buffer objects used for merging.
  • totalLength specifies the total length of the merged Buffer object.

Compare.compare(otherBuffer)

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 + "之后");
}

Copy.compare(buffer2)

buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])

    targetBuffer - The Buffer object to be copied.
  1. targetStart - number, optional, default: 0
  2. ##sourceStart - number, optional, default: 0
  3. sourceEnd - number, optional, default: buffer.length

  4. ##
    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

  1. end - number, optional, default: buffer.length

  2. Return value

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;

//Return this buffer Number of bytes. Note that this is not necessarily the size of the contents of the buffer. length is the amount of memory allocated by the buffer object, and it will not change as the contents of the buffer object change.

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn