DEV Community

Cover image for How to combine Buffers in Node.js?
MELVIN GEORGE
MELVIN GEORGE

Posted on • Originally published at melvingeorge.me

How to combine Buffers in Node.js?

Originally posted here!

To combine Buffer instances in Node.js, we can use the concat() method in the Buffer class.

Let's say we have 3 Buffer instances with 10 bytes of memory allocated like this,

// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);
Enter fullscreen mode Exit fullscreen mode

Now we need to combine these buffers into a single buffer.

  • The concat() method requires 2 arguments, the first one being an array of buffer instances that we want to combine and the second argument being the total bytes of the combined buffer instances.

  • To get the total bytes of a buffer instance we can use the length property available int the buffer instance.

// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);

// get the total bytes
const totalBytes = buff1.length + buff2.length + buff3.length;
Enter fullscreen mode Exit fullscreen mode

Now let's combine these instances using the concat() method to combine these buffers into a single buffer like this,

// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);

// get the total bytes
const totalBytes = buff1.length + buff2.length + buff3.length;

// pass buffers an an array as the first argument
// total bytes as the second argument
const resultBuffer = Buffer.concat([buff1, buff2, buff3], totalBytes);
Enter fullscreen mode Exit fullscreen mode
  • The concat() method returns a new combined buffer instance.

Feel free to share if you found this useful 😃.


Top comments (0)