JavaScript component to convert to/from strings and byte arrays.

AMD/CommonJS compatible.


This library exposes a single function that takes a data parameter and an options object. Set and options.out to the format of the input and desired output. Possible values include:

The default encoding for options.out is a buffer (buffer). The input format is duck-typed if it's an Array (bytes) or Buffer (buffer) or Number object. If it's a string, it's interpreted as binary unless it's prefixed by 0x (then it's hex). If is set, it overrides the automatic duck-typing of the input variable.

var conv = require('binstring');

console.dir(conv('hello', { in:'binary' })); // No output encoding specified, defaults to Buffer; output: Buffer([104,101,108,108,111])
console.dir(conv([104,101,108,108,111], { out:'hex' })); // No input encoding specified, auto-detected as Byte Array; output: 68656c6c6f
console.dir(conv('hello', { in:'binary', out:'hex' })); // output: 68656c6c6f


Unit tests are written in Mocha. To run the test suite, checkout the git repository, and from within the base folder run:

$ npm install --dev
$ ./node_modules/mocha/bin/mocha

References on JavaScript UTF-8 forced encoding

(these sources are also included as PDFs in the repo in case the links go dead)


(MIT License)

Copyright 2014, Brooks Boyd