Buffers: Node.js

Harsh Mishra - Oct 7 - - Dev Community

Simple Guide to Buffers in Node.js

A Buffer in Node.js is used to handle raw binary data, which is useful when working with streams, files, or network data.

How to Create Buffers

  1. From a String:
   const buf = Buffer.from('Hello');
Enter fullscreen mode Exit fullscreen mode
  1. Allocate a Buffer with a specific size:
   const buf = Buffer.alloc(10); // 10-byte buffer filled with zeros
Enter fullscreen mode Exit fullscreen mode
  1. From an Array of bytes:
   const buf = Buffer.from([72, 101, 108, 108, 111]); // Represents 'Hello'
Enter fullscreen mode Exit fullscreen mode

Important Buffer Functions

  1. Convert Buffer to String:
   const buf = Buffer.from('Hello');
   console.log(buf.toString()); // 'Hello'
Enter fullscreen mode Exit fullscreen mode
  1. Get Buffer Length:
   const buf = Buffer.from('Hello');
   console.log(buf.length); // 5 (each character takes 1 byte)
Enter fullscreen mode Exit fullscreen mode
  1. Write Data to Buffer:
   const buf = Buffer.alloc(5);
   buf.write('Hi');
   console.log(buf.toString()); // 'Hi'
Enter fullscreen mode Exit fullscreen mode
  1. Slice a Buffer:
   const buf = Buffer.from('Hello World');
   const slice = buf.slice(0, 5);
   console.log(slice.toString()); // 'Hello'
Enter fullscreen mode Exit fullscreen mode
  1. Copy from One Buffer to Another:
   const buf1 = Buffer.from('Hello');
   const buf2 = Buffer.alloc(5);
   buf1.copy(buf2);
   console.log(buf2.toString()); // 'Hello'
Enter fullscreen mode Exit fullscreen mode
  1. Compare Two Buffers:
   const buf1 = Buffer.from('abc');
   const buf2 = Buffer.from('abc');
   console.log(buf1.equals(buf2)); // true
Enter fullscreen mode Exit fullscreen mode
  1. Concatenate Multiple Buffers:
   const buf1 = Buffer.from('Hello');
   const buf2 = Buffer.from(' World');
   const buf3 = Buffer.concat([buf1, buf2]);
   console.log(buf3.toString()); // 'Hello World'
Enter fullscreen mode Exit fullscreen mode

These are the key Buffer functions you need to know to start working with binary data in Node.js:

  • Create, write, and read Buffers
  • Slice, copy, compare, and concatenate Buffers

This is enough to handle most beginner use cases in Node.js!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .