📌  相关文章
📜  nodejs buffer.from base64 - Javascript(1)

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

介绍Node.js Buffer.from方法和Base64编解码

在Node.js中,Buffer是用来在应用程序中存储二进制数据的对象。Buffer使用固定的内存分配,类似于C语言中的数组,可以通过索引访问其数据。

而Base64编解码是将二进制数据通过字符编码转换成文本格式的一种方式。

在Node.js中,我们可以通过Buffer.from方法来实现Base64编解码。

Buffer.from方法

Buffer.from方法用于创建一个新的Buffer实例,该实例包含从给定的数据中提取的字节。该方法有三个参数:data,encoding和offset。

Buffer.from(data[, encoding][, offset])
  • data: 要编码的数据
  • encoding: data的编码方式,可以是'utf8','latin1','base64'等,默认是'utf8'
  • offset: 开始写入data到Buffer对象的位置,默认是0
Base64编解码

Base64是一种将二进制数据转换为ASCII字符的编码方式,使用64个字符来表示二进制数据。它常用于在网络传输或存储数据时将二进制数据转换为文本格式。

在Node.js中,我们可以通过Buffer对象的toString方法将二进制数据转换为Base64编码,也可以通过Buffer.from方法将Base64编码转换为二进制数据。

const buf = Buffer.from('hello world', 'utf8');
const base64Str = buf.toString('base64');
console.log(base64Str); // 输出 'aGVsbG8gd29ybGQ='

const decodedBuf = Buffer.from(base64Str, 'base64');
console.log(decodedBuf.toString('utf8')); // 输出 'hello world'
示例代码
const data = 'nodejs buffer.from base64';
const buf = Buffer.from(data, 'utf8');
const base64Str = buf.toString('base64');
console.log(base64Str); // 输出 'bm9kZWpzIGJ1ZmZlci5mb3IgYmFzZTY0'

const decodedBuf = Buffer.from(base64Str, 'base64');
console.log(decodedBuf.toString('utf8')); // 输出 'nodejs buffer.from base64'
总结

Node.js中的Buffer对象和Base64编解码是非常常用的功能,它们可以帮助我们更好地处理二进制数据和文本数据之间的转换。使用Buffer.from方法和toString方法可以轻松实现Base64编解码。