📜  在 Node.js 中编码和解码 Base64 字符串 - Javascript (1)

📅  最后修改于: 2023-12-03 15:23:14.182000             🧑  作者: Mango

在 Node.js 中编码和解码 Base64 字符串

当我们需要在网络上传输数据时,有时候会需要把二进制数据或者文本数据作为字符串进行传输。而在传输过程中,为了保证数据的安全性或者其他需求,我们需要对数据进行加密或者压缩等处理。其中,Base64 编码就是一个很常见的编码方式。

当我们需要对数据进行 Base64 编码或者解码时,Node.js 为我们提供了方便的 API。在下面的内容中,我们将分别介绍 Base64 编码和解码的 API。

Base64 编码

在 Node.js 中,我们可以使用 Buffer 类来进行 Base64 编码。其中,Buffer 类是 Node.js 中用来处理二进制数据的类。在使用 Buffer 进行 Base64 编码时,我们可以使用 toString 方法,并将第一个参数设置为 'base64' 来进行编码。

const data = 'Hello World!';
const encodedData = Buffer.from(data).toString('base64');
console.log(encodedData);
// SGVsbG8gV29ybGQh

在上面的代码片段中,我们首先定义了一个字符串 data,然后使用 Buffer.from 方法将其转换为 Buffer 类型的数据,并使用 toString 方法进行 Base64 编码。最后,我们打印出了编码后的结果。

Base64 解码

与 Base64 编码相对应的是 Base64 解码。在 Node.js 中,我们同样可以使用 Buffer 类进行解码。与编码时使用的 toString 方法不同的是,我们需要使用 toString 方法并将第一个参数设置为 'utf8' 来将二进制数据转换为字符串。

const encodedData = 'SGVsbG8gV29ybGQh';
const decodedData = Buffer.from(encodedData, 'base64').toString('utf8');
console.log(decodedData);
// Hello World!

在上面的代码片段中,我们首先定义了一个编码后的字符串 encodedData,然后使用 Buffer.from 方法进行解码。在 from 方法的第二个参数中,我们将编码方式设置为 'base64'。然后,我们再次使用 toString 方法,并将第一个参数设置为 'utf8' 来将解码后的数据转换为字符串。最后,我们打印出了解码后的结果。

总体而言,Node.js 为我们提供了非常方便的 API 来进行 Base64 编码和解码。通过上述方式,我们可以轻松地完成这些操作。