In node, buffer is used to store binary data in memory. It can be used as a cache area when processing TCP streams or file streams. It is specially used to store the binary data used; nodejs cannot control the time of data transmission. , if the sending time has not arrived, the data will be stored in the Buffer until the data is sent.
The operating environment of this article: Windows 10 system, nodejs version 12.19.0, Dell G3 computer.
In Node applications, it is necessary to process network protocols, operate databases, process images, receive uploaded files, etc. In the operation of network streams and files, it is necessary to Processing a large amount of binary data, and Buffer is to open an area in the memory (initialized to 8KB for the first time) to store binary data
There will be data flow during the above operations, and during each data flow process, there will be There is a minimum or maximum amount of data
If the data arrives faster than the process consumes it, then a small number of data that arrived early will be in the waiting area waiting to be processed. On the contrary, if the data arrives slower than the data consumed by the process, then the data that arrived earlier needs to wait for a certain amount of data to arrive before it can be processed.
The waiting area here refers to the buffer (Buffer), which It is a small physical unit in the computer, usually located in the computer's RAM.
Simply speaking, Nodejs cannot control the speed and arrival time of data transmission. It can only decide when to send data. If the sending time has not yet arrived, , then the data is placed in the Buffer, that is, in RAM, until they are sent.
As mentioned above, the Buffer is used to store binary data, and its form can be understood as an array. Each element in the array Items can all save 8-bit binary: 00000000, which is one byte.
defines a Buffer class, which is used to create a buffer area specifically for storing binary data.
When processing images like When using 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.
Creating the Buffer class
The Node Buffer class can be created in a variety of ways.
Method 1
Create a Buffer instance with a length of 10 bytes:
var buf = new Buffer(10);
Method 2
Create a Buffer instance from the given array:
var buf = new Buffer([10, 20, 30, 40, 50]);
Method 3
Create a Buffer instance through a string:
var buf = new Buffer("bianchengsanmei", "utf-8");
utf-8 is the default encoding method. In addition, it also supports the following encodings: "ascii", " utf8", "utf16le", "ucs2", "base64" and "hex".
Recommended learning: "nodejs video tutorial"
The above is the detailed content of What is the use of buffer in node?. For more information, please follow other related articles on the PHP Chinese website!