As you can read in the Node.js documentation on the Buffer class, a buffer
is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.
So far, so good.
What now puzzles me is the question what a buffer is technically speaking. Is it an array with just some additional functions for creating and converting to strings using specific encodings?
Or is there “more” to it?
A Buffer is a chunk of memory, just like you would have it in C/C++. You can interpret this memory as an array of integer or floating point numbers of various lengths, or as a binary string. Unlike higher-level data structures like arrays, a buffer is not resizable.
It corresponds roughly to:
char*orchar[]in C/C++byte[]in Javabytesor a non-resizablebytearrayin Python