Decoding binary data from a base64 string using Node.js
In Node.js, there's no inverse of Buffer.toString
; instead, you pass the base64 data directly to the buffer constructor, along with a flag indicating that the data is base64 encoded.
Getting ready
If you want to run the example as it appears here, you'll need the buffertools
module installed, in order to get the Buffer.compare
method. To get that, run npm
on a command prompt:
npm install buffertools
If all you're going to do is use the Buffer
constructor of Node.js to decode base64
data, you don't need to do this.
How to do it…
Here, we'll take our original buffer and compare it to another one initialized with the original base64 for the first message:
require('buffertools').extend(); var buffer = new Buffer('Hello world'); var string = buffer.toString('base64'); console.log(string); var another = new Buffer('SGVsbG8gd29ybGQ=', 'base64'); console.log(b.compare(another) == 0);
How it works…
The first line of the code includes the buffertools...