在 Node.js 中使用 Buffer toString() 函数

发布于 2022-08-16 12:33:40 字数 1669 浏览 109 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

暮倦

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

qq_Yqvrrd

文章 0 评论 0

2503248646

文章 0 评论 0

浮生未歇

文章 0 评论 0

养猫人

文章 0 评论 0

第七度阳光i

文章 0 评论 0

新雨望断虹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文