在 Node.js 中使用 Buffer toString() 函数
Node.js 缓冲区 是存储任意二进制数据的对象。 缓冲区有一个 toString()
方法 可用于将缓冲区转换为字符串的
默认 toString()
使用 UTF8 编码将缓冲区转换为字符串。 例如,如果您使用从字符串创建缓冲区 Buffer.from()
, 这 toString()
函数返回原始字符串。
const buf = Buffer.from('Hello, World', 'utf8');
buf.toString(); // 'Hello, World'
这 encoding
范围
这 toString()
方法的第一个参数是一个字符串,称为 encoding
,它决定了 Node.js 使用什么格式来表达原始数据。 默认值为 'utf8'
。
const fs = require('fs');
const buf = fs.readFileSync('./package.json');
buf.toString('utf8'); // '{ "name": "masteringjs.io", ...}'
Node.js 支持 多种不同 的缓冲区编码。 最常用的是:
- utf8
- hex
- base64
例如,通过调用 .toString('hex')
,您将获得缓冲区的字符串表示形式,其中每个字节被编码为 2 个十六进制字符。
const fs = require('fs');
const buf = fs.readFileSync('./package.json');
buf.toString('hex'); // '7b0a2020...'
哪种编码正确取决于您的用例和缓冲区中存储的数据。 通常 Buffer#toString()
用于调试并试图弄清楚缓冲区的内容是什么意思。 如果这是您的用例,请尝试所有 3 种不同的编码,看看它们是否看起来很熟悉。
一种常见的用例 .toString()
正在将文件转换为 base64,因此它可以用作电子邮件附件 。 以下是使用 Node.js 将文件转换为 base64 编码的方法:
const fs = require('fs');
const buf = fs.readFileSync('./package.json');
buf.toString('base64'); // 'ewogICJuYW1lI...'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Express 中的参数
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论