📜  在 node.js 中如何完成 Base64 编码和解码?

📅  最后修改于: 2022-05-13 01:56:36.381000             🧑  作者: Mango

在 node.js 中如何完成 Base64 编码和解码?

Base64 编码和解码可以在 Node.js 中使用 Buffer 对象完成。

将原始字符串编码为 base64: Node.js 中的 Buffer 类可用于将字符串转换为一系列字节。这可以使用Buffer.from()方法来完成,该方法接受要转换的字符串和字符串的当前编码。此编码可以指定为“utf8”。

然后可以使用toString()方法将转换后的字节作为 base64 返回。此方法接受一个参数,该参数指定转换期间所需的编码。在这种情况下,“base64”被指定为要使用的编码。因此,此方法将任何字符串转换为 base64 格式。

句法:

// 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 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);

输出:

The encoded base64 string is: R2Vla3Nmb3JHZWVrcw==

将 base64 解码为原始字符串: Buffer 还可用于将 base64字符串转换回 utf8 编码。 Buffer.from()方法再次用于将 base64字符串转换回字节,但是这次将当前编码指定为“base64”。

然后可以使用toString()方法将转换后的字节作为原始 utf8字符串返回。在这种情况下,“utf8”被指定为要使用的编码。因此,此方法将 base64 转换为其原始 utf9 格式。

句法:

// 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 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);

输出:

The decoded string: GeeksforGeeks