Nodejs buffers
From wikinotes
Buffers are reserved sections of memory designed to store binary data.
Interact with it like an array of bytes.
Documentation
buffer docs https://nodejs.org/api/buffer.html buffer tutorial https://nodejs.dev/learn/nodejs-buffers
Basics
Buffers are fixed size, reserved sections of memory.
alloc()
reserves memory, initializing every byte with a 0allocUnsafe()
only reserves memory (faster).By default, buffers are are stored as a UTF-8 array of bytes.
buffer.toString()
converts the buffer to a UTF-8 string.import { Buffer } from 'buffer'; // allocate buffer const buf = Buffer.alloc(10); const buf = Buffer.allocUnsafe(10); // write buf.write("abc"); // read buf[0]; // byte at pos 0 buf.toString() // print buf as UTF-8
write
buf.fromString("abc"); // from UTF-8 string buf.write("abc"); // from UTF-8 string
read
// read buffer buf[0]; // byte at pos 0 buf.toString() // print buf as UTF-8 for (cont ch in buf) { ... } // loop over bytes in buffer
manipulate
buf.subarray(0, 2); // slice of bytes 0-2 buf.set(Buffer.from('foo')); // copy