/node-binarystream

Binary byte stream with dual encoding and decoding support for strings, numbers and varints

Primary LanguageJavaScriptMIT LicenseMIT

node-bytewriter

NPM version Build Status Try it on gitpod PrismarineJS Discord

A simple zero-dep binary byte stream implementation for Node.js with support for reading and writing numbers, strings, and varints (zigzag or unsigned) in both little and big endian encoding.

Install

npm install bytewriter

Usage

Simple example to create a new empty Buffer stream:

const ByteStream = require('bytewriter')
const stream = new ByteStream()
stream.writeStringNT("hello world!") // write a string with a null term at end
const buffer = stream.getBuffer()
console.assert(buffer.equals(Buffer.from('hello world!\0'))

Load an existing one:

const BinaryStream = require('bytewriter')
const stream = new BinaryStream(Buffer.from('10 10 10', 'hex'))
const a = stream.readUInt8()
const b = stream.readUInt16()

API

See the typescript types here for the full API

License

MIT