- License
- MIT
- Deps
- 0
- Install Size
- 20.1 kB
- Vulns
- 0
- Published
$
npm install binary-util$
pnpm add binary-util$
yarn add binary-util$
bun add binary-util$
deno add npm:binary-util$
vlt install binary-util$
vp add binary-util$
nub add binary-utilbinary-util
A library to simplify parsing and building binary data.
It does not support all types of data, but it does have the ones I needed. :^)
Usage
A full example of how to use this library can be found in my RE MSG library.
Here are some non-exhaustive examples:
Decoder
import { Decoder } from "binary-util"
const data = Buffer.from([
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,
])
const decoder = new Decoder(data)
// You can use it to just read data straight from the buffer
decoder.readString({ length: 5 }) // Hello
decoder.readString({ length: 7 }) // ", World"
// Utilities
encoder.seek(-1)
encoder.seek(1)
encoder.alignTo(8)
// Or you can use it more ergonomically when possible
const decoder2 = new Decoder(Buffer.alloc(2, 2))
const result = {
a: decoder2.readUint8(), // 2
b: decoder2.readUint8(), // 2
}
Encoder
import { Encoder } from "binary-util"
const encoder = new Encoder()
encoder.writeString("Hello, World")
encoder.seek(-1)
encoder.seek(1)
encoder.alignTo(8)
encoder.writeUint8(2)
encoder.goto(1)