This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
bit-buffer with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
BitBuffer provides two objects,
BitStream is a wrapper for a
BitView used to help maintain your current buffer position, as well as to provide higher-level read / write operations such as for ASCII strings.
bb.buffer // Underlying ArrayBuffer.
Default constructor, takes in a single argument of an ArrayBuffer. Optional are the
byteLength arguments to offset and truncate the view's representation of the buffer.
bits number of bits starting at
Shortcuts for getBits, setting the correct
Gets 32 bits from
offset, and coerces and returns as a proper float32 value.
Gets 64 bits from
offset, and coerces and returns as a proper float64 value.
bits number of bits at
Shortcuts for setBits, setting the correct
Coerces a float32 to uint32 and sets at
Coerces a float64 to two uint32s and sets at
bb.byteIndex; // Get current index in bytes. bb.byteIndex = 0; // Set current index in bytes.
bb.view; // Underlying BitView
bb.length; // Get the length of the stream in bits
bb.bitsLeft; // The number of bits left in the stream
bb.index; // Get the current index in bits bb.index = 0// Set the current index in bits
Default constructor, takes in a single argument of a
ArrayBuffer or node
Shortcut constructor that initializes a new
BitView(buffer, byteOffset, byteLength) for the stream to use.
bits numbers of bits from the view at the current index, updating the index.
bits numbers of bits from
value in the view at the current index, updating the index.
Read a 8, 16 or 32 bits (unsigned) integer at the current index, updating the index.
Write 8, 16 or 32 bits from
value as (unsigned) integer at the current index, updating the index.
Read a 32 or 64 bit floating point number at the current index, updating the index.
Set 32 or 64 bits from
value as floating point value at the current index, updating the index.
Read a single bit from the view at the current index, updating the index.
Write a single bit to the view at the current index, updating the index.
Reads bytes from the underlying view at the current index until either
bytes count is reached or a 0x00 terminator is reached.
Writes a string followed by a NULL character to the underlying view starting at the current index. If the string is longer than
bytes it will be truncated, and if it is shorter 0x00 will be written in its place.
Create a new
BitStream from the underlying view starting the the current index and a length of
length bits. Updating the index of the existing
byteLength bytes of data from the underlying view as
ArrayBuffer, updating the index.