Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    bytebufferpublic

    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)
    • Base64, utf8, binary, hex and debug encodings
    • 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.

    var ByteBuffer = require("bytebuffer");
     
    var bb = new ByteBuffer()
                .writeIString("Hello world!")
                .flip();
    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)

    install

    npm i bytebuffer

    Downloadslast 7 days

    253,495

    version

    5.0.1

    license

    Apache-2.0

    repository

    github.com

    last publish

    collaborators

    • avatar