Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A base64 encoding and decoding C++ module for node.js that actually works! (node now has it's own base64 encoding, see docs!)

tree: 36f61da42a

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 test
Octocat-spinner-32 .npmignore
Octocat-spinner-32 base64.cc
Octocat-spinner-32 package.json
Octocat-spinner-32 readme.txt
Octocat-spinner-32 wscript
readme.txt
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
Something went wrong with that request. Please try again.