The swiss army knife for binary data in JavaScript.

Downloads in past


715415.0.18 years ago11 years agoMinified + gzip package size for bytebuffer in KB


bytebuffer.js - The swiss army knife for binary data in JavaScript. ====================================== A fast and complete ByteBuffer implementation using either ArrayBuffers in the browser or node Buffers under node.js, generated from a single source tree through MetaScript. Build Status Donate Features --------
  • Three API-compatible versions:
bytebuffer   Backing buffer: ArrayBuffer, Accessor: Uint8Array bytebuffer-dataview   Backing buffer: ArrayBuffer, Accessor: DataView bytebuffer-node   Backing buffer / Accessor: node Buffer
  • 8, 16, 32 and 64 bit (through long.js) signed and unsigned integers
  • 32 and 64 bit floats
  • Varints as used in protobuf (32 and 64 bit, zig-zag)
  • Handy string and debugging utilities
  • Big and little endianness
  • Relative and absolute zero-copy operations wherever possible
  • Transparent resizing when using unknown-length data
  • Chaining of all operations that do not return a specific value
  • Slicing, appending, prepending, reversing, flip, mark, reset, etc.
Usage ----- The library is compatible with CommonJS and AMD loaders and is exposed globally as dcodeIO.ByteBuffer if neither is available. ```javascript var ByteBuffer = require("bytebuffer"); var bb = new ByteBuffer()
.writeIString("Hello world!")
console.log(bb.readIString()+" from bytebuffer.js"); ``` In the browser, 64 bit integer support is optional and present only if Long.js
has been loaded prior to bytebuffer.js. API --- Downloads --------- Support for IE<10, FF<15, Chrome<9 etc. ---------------------------------------
  • Use bytebuffer-dataview with a polyfill (see)
Contributors ------------ Dretch (IE8 compatibility) License ------- License: Apache License, Version 2.0 - Logo derived from W3C HTML5 Logos (CC A 3.0)