0.1.1 • Published 10 years ago

blob64 v0.1.1

Weekly downloads
3
License
-
Repository
github
Last release
10 years ago

blob64 Build Status

A tiny javascript library to turn byte arrays into efficient base64 strings.

This is particularly useful with msgpack, which generates byte arrays.

blob64.pack([0,0,0])
// "0000"
blob64.pack([255,255,255])
// "////"
blob64.pack([1,3,3,7])
// "0GC31m==" 

Compared to using atob / btoa.

blob64([0,0,0])
// "MCwwLDA="
blob64([255,255,255])
// "MjU1LDI1NSwyNTU="
blob64([1,3,3,7])
// "MSwzLDMsNw=="

Usage with msgpack

var obj = {this:{is:{a:{msgpack:{object:'foo'}}}};
var packed = blob64.pack( msgpack.pack( obj ) );
// "WQHqQ6bpWQ9fSu6XOO6dRNDdS65ZQu6cRs9gPMDqesPlRm=="
msgpack.unpack( blob64.unpack( packed ) )
// {this:{is:{a:{msgpack:{object:'foo'}}}}

// vs alternatives

btoa( JSON.stringify( obj ) )
// "eyJ0aGlzIjp7ImlzIjp7ImEiOnsibXNncGFjayI6eyJvYmplY3QiOiJmb28ifX19fX0="

bota( msgpack.pack( obj ) )
// "MTI5LDE2NCwxMTYsMTA0LDEwNSwxMTUsMTI5LDE2MiwxMDUsMTE1LDEyOSwxNjEsOTcsMTI5LDE2NywxMDksMTE1LDEwMywxMTIsOTcsOTksMTA3LDEyOSwxNjYsMTExLDk4LDEwNiwxMDEsOTksMTE2LDE2MywxMDIsMTExLDExMQ=="

In the above examples, blob64 is 68% the size of JSON + btoa, the next closest competitor. This advantage increases quite a bit if your data has lots of integers in it.

Compatable with nodejs, script tag includes, and requirejs.

MIT Licence

0.1.1

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago