What is b4a?
The b4a npm package is a Buffer implementation for the browser with the same API as the Node.js Buffer. It allows you to use the Buffer API in environments where the native Buffer is not available, such as in web browsers.
What are b4a's main functionalities?
Buffer Creation
This feature allows you to create a new Buffer instance from a string, with an optional encoding parameter.
const b4a = require('b4a');
const buf = b4a.from('hello world', 'utf8');
Buffer Concatenation
This feature allows you to concatenate multiple Buffer instances into a new Buffer instance.
const b4a = require('b4a');
const buf1 = b4a.from('hello');
const buf2 = b4a.from('world');
const buf3 = b4a.concat([buf1, buf2]);
Buffer Allocation
This feature allows you to allocate a new Buffer with a specified size, which is filled with zeros by default.
const b4a = require('b4a');
const buf = b4a.alloc(10); // allocates a new Buffer of 10 bytes
Buffer Conversion
This feature allows you to convert data between Buffers and strings with different encodings.
const b4a = require('b4a');
const buf = b4a.from('7468697320697320612074c3a97374', 'hex');
const str = buf.toString('utf8');
Other packages similar to b4a
buffer
The 'buffer' package is a Node.js Buffer implementation for the browser, which is similar to b4a. It provides a polyfill for the Buffer class, allowing code written for Node.js to run in the browser without modification.
Buffer for Array
Buffer for Array (B4A) provides a set of functions for bridging the gap between the Node.js Buffer
class and the Uint8Array
class. A browser compatibility layer is also included, making it possible to use B4A in both Node.js and browsers without having to worry about whether you're dealing with buffers or typed arrays.
Installation
npm install b4a
API
b4a.isBuffer(value)
See https://nodejs.org/api/buffer.html#static-method-bufferisbufferobj
This will also return true
when passed a Uint8Array
.
b4a.alloc(size)
See https://nodejs.org/api/buffer.html#static-method-bufferallocsize-fill-encoding
b4a.allocUnsafe(size)
See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafesize
b4a.allocUnsafeSlow(size)
See https://nodejs.org/api/buffer.html#static-method-bufferallocunsafeslowsize
b4a.byteLength(string)
See https://nodejs.org/api/buffer.html#static-method-bufferbytelengthstring-encoding
b4a.compare(buf1, buf2)
See https://nodejs.org/api/buffer.html#static-method-buffercomparebuf1-buf2
b4a.concat(buffers[, totalLength])
See https://nodejs.org/api/buffer.html#static-method-bufferconcatlist-totallength
b4a.copy(source, target[, targetStart[, sourceStart[, sourceEnd]]])
See https://nodejs.org/api/buffer.html#bufcopytarget-targetstart-sourcestart-sourceend
b4a.equals(buf1, buf2)
See https://nodejs.org/api/buffer.html#bufequalsotherbuffer
b4a.from(array)
See https://nodejs.org/api/buffer.html#static-method-bufferfromarray
b4a.from(arrayBuffer[, byteOffset[, length]])
See https://nodejs.org/api/buffer.html#static-method-bufferfromarraybuffer-byteoffset-length
b4a.from(buffer)
See https://nodejs.org/api/buffer.html#static-method-bufferfrombuffer
b4a.from(string[, encoding])
See https://nodejs.org/api/buffer.html#static-method-bufferfromstring-encoding
b4a.toBuffer(buffer)
Convert a buffer to its canonical representation. In Node.js, the canonical representation is a Buffer
. In the browser, the canonical reprensetation is a Uint8Array
.
b4a.toString([encoding[, start[, end]]])
See https://nodejs.org/api/buffer.html#buftostringencoding-start-end
b4a.write(string[, offset[, length]][, encoding])
See https://nodejs.org/api/buffer.html#bufwritestring-offset-length-encoding