• Node.js Video Tutorials

Node.js - Buffer.concat() 方法



NodeJS 的 Buffer.concat() 方法透過連線所有給定的緩衝區物件來返回一個單個緩衝區物件。如果使用的緩衝區沒有專案或緩衝區的長度為 0,則建立的最終緩衝區將是一個新的零長度緩衝區。

語法

以下是 Node.JS Buffer.concat() 方法 的語法:

Buffer.concat( array, length )

引數

此方法接受兩個引數。下面解釋了這些引數。

  • array −(必需)需要連線的緩衝區陣列。

  • length −(可選)。您希望最終連線的緩衝區的長度。如果未給出,則長度將是 concat() 中使用的給定緩衝區長度的總和。

返回值

Buffer.concat() 方法將返回一個緩衝區,其長度等效於連線中使用的緩衝區的長度,除非使用 buffer.concat() 中的 length 引數指定。

示例

此示例將使用 NodeJS buffer.concat() 方法建立一個新的緩衝區。

const buffer1 = Buffer.from('A');
const buffer2 = Buffer.from('B');
const buffer3 = Buffer.from('C');
var myarray = [buffer1, buffer2, buffer3];
var newBuffer = Buffer.concat(myarray);
console.log(newBuffer);
console.log("The length of new buffer is : "+newBuffer.length);

輸出

<Buffer 41 42 43>
The length of new buffer is : 3

示例

在此示例中,讓我們建立一個新的緩衝區並指定緩衝區的長度。

const buffer1 = Buffer.from('Hello');
const buffer2 = Buffer.from('How');
const buffer3 = Buffer.from('are you!');
var myarray = [buffer1, buffer2, buffer3];
var newBuffer = Buffer.concat(myarray, 10);
console.log(newBuffer);
console.log(newBuffer.toString());
console.log("The length of new buffer is : "+newBuffer.length);

輸出

給定的最終緩衝區的長度為 10。即使陣列中的緩衝區的長度超過指定的長度,它仍然會回退到指定的長度。您可以在輸出中檢查這一點。

<Buffer 48 65 6c 6c 6f 48 6f 77 61 72>
HelloHowar
The length of new buffer is : 10

示例

此示例將使用 buffer.concat() 方法透過使用 Buffer.alloc() 和 Buffer.fill() 建立一個新的緩衝區。

const buffer1 = Buffer.alloc(5);
const buffer2 = Buffer.alloc(5);
buffer1.fill('H');
buffer2.fill('W');
var myarray = [buffer1, buffer2];
var newBuffer = Buffer.concat(myarray);
console.log(newBuffer);
console.log("The length of new buffer is : "+newBuffer.length);

輸出

<Buffer 48 48 48 48 48 57 57 57 57 57>
The length of new buffer is : 10
nodejs_buffer_module.htm
廣告