Open In App

How Base64 encoding and decoding is done in node.js ?

Improve
Improve
Like Article
Like
Save
Share
Report

Base64 encoding and decoding can be done in Node.js using the Buffer object.

Encoding the original string to base64: The Buffer class in Node.js can be used to convert a string to a series of bytes. This can be done using the Buffer.from() method that accepts the string to be converted and the current encoding of the string. This encoding can be specified as “utf8”.

The converted bytes can then be returned as a base64 using the toString() method. This method accepts a parameter that specifies the encoding needed during conversion. In this case, “base64” is specified as the encoding to be used. Thus, this method converts any string to the base64 format.

Syntax:

// Create buffer object, specifying utf8 as encoding
let bufferObj = Buffer.from(originalString, "utf8");

// Encode the Buffer as a base64 string
let base64String = bufferObj.toString("base64");

Example:




// The original utf8 string
let originalString = "GeeksforGeeks";
  
// Create buffer object, specifying utf8 as encoding
let bufferObj = Buffer.from(originalString, "utf8");
  
// Encode the Buffer as a base64 string
let base64String = bufferObj.toString("base64");
  
console.log("The encoded base64 string is:", base64String);


Output:

The encoded base64 string is: R2Vla3Nmb3JHZWVrcw==

Decoding base64 to original string: The Buffer can also be used to convert the base64 string back to utf8 encoding. The Buffer.from() method is again used to convert the base64 string back to bytes, however, this time specifying the current encoding as “base64”.

The converted bytes can then be returned as the original utf8 string using the toString() method. In this case, “utf8” is specified as the encoding to be used. Thus, this method converts the base64 to its original utf9 format.

Syntax:

// Create a buffer from the string
let bufferObj = Buffer.from(base64string, "base64");

// Encode the Buffer as a utf8 string
let decodedString = bufferObj.toString("utf8");

Example:




// The base64 encoded input string
let base64string = "R2Vla3Nmb3JHZWVrcw==";
  
// Create a buffer from the string
let bufferObj = Buffer.from(base64string, "base64");
  
// Encode the Buffer as a utf8 string
let decodedString = bufferObj.toString("utf8");
  
console.log("The decoded string:", decodedString);


Output:

The decoded string: GeeksforGeeks


Last Updated : 25 Jun, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads