What Are Buffers in Node.js?
- Buffers are a built-in class in Node.js designed to handle raw binary data.
- They are similar to arrays of integers but store raw binary data instead of regular JavaScript numbers.
- Buffers are especially important in Node.js because many operations involve dealing with streams of binary data (like files, network streams, etc.).
Why Not Use Regular JS Arrays?
- JavaScript strings and arrays are not suitable for handling raw binary data because they use UTF-16 encoding and may not support arbitrary byte sequences reliably.
When Would You Use Buffers?
- When working directly with TCP streams (e.g., implementing network protocols)
- Reading or writing files in binary mode (like images, videos, or other non-text files)
- Processing incoming HTTP requests containing binary data (e.g., file uploads)
- Manipulating data from hardware devices or binary communication.
Example: Reading a File into a Buffer
const fs = require('fs');
const buffer = fs.readFileSync('image.png');
console.log(buffer); // Prints raw bytes of the image file
Key Buffer Methods
-
Buffer.from(array)– Create a buffer from an array -
buffer.toString([encoding])– Convert buffer into a string -
buffer.slice(start, end)– Extract part of the buffer -
buffer.length– Get length in bytes
Use buffers when you need precise, efficient manipulation of binary data in Node.js applications.
Top comments (0)