How Base64 encoding and decoding is done in node.js ?
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.
// 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");
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.
// Create a buffer from the string let bufferObj = Buffer.from(base64string, "base64"); // Encode the Buffer as a utf8 string let decodedString = bufferObj.toString("utf8");
The decoded string: GeeksforGeeks