A base64 encoding and decoding C++ module for node.js that actually works! (node now has it's own base64 encoding, see docs!)
C C++ Python JavaScript Shell Perl
Latest commit b2830cd May 14, 2013 @pkrumins Merge pull request #18 from kuebk/node10
Node v0.10.x support
Permalink
Failed to load latest commit information.
test
.gitignore Node v0.10.x support May 7, 2013
.npmignore Node v0.10.x support May 7, 2013
base64.cc
binding.gyp
package.json Node v0.10.x support May 7, 2013
readme.txt

readme.txt

Update: this module may no longer be necessary as nodejs includes its own
base64 encoding/decoding functions.

This is a node.js C++ module that encodes and decodes to/from base64. Oh, and
compared to all other modules, it actually works.

It was written by Peteris Krumins (peter@catonmat.net).
His blog is at http://www.catonmat.net  --  good coders code, great reuse.

------------------------------------------------------------------------------

To build the module run:

    node-waf configure build

This will produce `base64.node` binary module. To use it, make sure the
module's directory is in NODE_PATH.

The module exports two functions `encode` and `decode`.

encode
------

Encodes a buffer to base64, returns encoded ascii string. Unlike all other
base64, it actually works well with binary data. If you're wondering why it
takes a buffer as argument, it's because there is no way to pass binary
strings to C++ code in a sane way.

Here is a basic example:

    var sys = require('sys');
    var base64_encode = require('base64').encode;
    var Buffer = require('buffer').Buffer;
    
    var buf = new Buffer('hello world');

    sys.print(base64_encode(buf));

    /* Output: aGVsbG8gd29ybGQ= */


decode
------

Decodes a buffer containing base64 string, or just a base64 string to original
data.

    var sys = require('sys');
    var base64_decode = require('base64').decode;

    sys.print(base64_decode('aGVsbG8gd29ybGQ='));

    /* Output: hello world */


------------------------------------------------------------------------------


SGF2ZSBmdW4hCg==


Sincerely,
Peteris Krumins
http://www.catonmat.net