Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/meltingice/bindata.js

A structured and understandable way to read/write binary data in Javascript. Inspired by Ruby BinData.
https://github.com/meltingice/bindata.js

Last synced: 24 days ago
JSON representation

A structured and understandable way to read/write binary data in Javascript. Inspired by Ruby BinData.

Awesome Lists containing this project

README

        

# BinData.js

BinData.js is a simple and structured way to read and write binary data. Instead of having to remember a whole table of obscure character codes, you can write and encapsulate chunks of binary data together with ease.

BinData.js aims to be a very close port of [Ruby's BinData library](http://bindata.rubyforge.org/).

## Installation

BinData.js is available in npm. Simply run in your project directory:

```
npm install bindata
```

## Examples

**Data record definition**

``` coffeescript
{BinData} = require 'bindata'

class Rectangle extends BinData.Record
endian: "little"
define: ->
@uint16 "len"
@string "name", length: 4
@uint32 "width"
@uint32 "height"
```

**Reading a data record**

``` coffeescript
file = BinData.File.open("/path/to/file")
r = new Rectangle(file)
r.read()

console.log "Rectangle #{r.name} is #{r.width} x #{r.height}"
```