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