怎么将Nodejs中的buffer转为JSON格式和UTF-8字符串?

怎么将nodejs中的buffer转为json格式和utf-8字符串?下面本篇文章给大家介绍一下nodejs中buffer和json格式相互转换的方法,以及buffer 转换为 utf-8 字符串的方法。

怎么将Nodejs中的buffer转为JSON格式和UTF-8字符串?

Node.js 和基于浏览器的 JavaScript 有所不同,因为 Node 甚至在 ES6 草案提出 ArrayBuffer 之前就有处理二进制数据的方法。在 Node 中,Buffer(缓冲区) 类是大多数 I/O 操作使用的主要数据结构。它是在 V8 堆外部分配的原始二进制数据,一旦分配,就无法调整大小。【推荐学习:《nodejs 教程》】

在 Node v6.0 之前,要创建新的缓冲区,我们只需使用 new 关键字调用构造函数:

let newBuff = new Buffer('I Love You')

登录后复制

v6.0 之后,要创建新的缓冲区实例:

let newBuff = Buffer.from('I Love You')

登录后复制

new Buffer() 构造函数已被弃用,并被单独的 Buffer.from()、Buffer.alloc() 和 Buffer.allocUnsafe() 方法替换。

更多信息可以阅读官方文档

将 Buffer 转换为 JSON

缓冲区可以转换为 JSON。

let bufferOne = Buffer.from('All work and no play makes Jack a dull boy')console.log(bufferOne)// let json = JSON.stringify(bufferOne, null, 2)console.log(json)/*{  "type": "Buffer",  "data": [    65,    108,    108,    32,    119,    111,    114,    107,    32,    97,    110,    100,    32,    110,    111,    32,    112,    108,    97,    121,    32,    109,    97,    107,    101,    115,    32,    74,    97,    99,    107,    32,    97,    32,    100,    117,    108,    108,    32,    98,    111,    121  ]}*/

登录后复制

JSON 指定要转换的对象的类型是 Buffer 及其数据。

将 JSON 转换为 Buffer

let bufferOriginal = Buffer.from(JSON.parse(json).data)console.log(bufferOriginal)// 

登录后复制

将 Buffer 转换为 UTF-8 字符串

console.log(bufferOriginal.toString('utf8')) // All work and no play makes Jack a dull boy

登录后复制

.toString() 不是将缓冲区转换为字符串的唯一方法。此外,默认情况下,它会转换为 utf-8 格式字符串。

另一种将缓冲区转换为字符串的方法是使用 Node.js API 中的 StringDecoder 核心模块。

string_decoder 模块提供了用于将 Buffer 对象解码为字符串(以保留编码的多字节 UTF-8 和 UTF-16 字符的方式)的 API。 上述例子的替代写法如下:

const { StringDecoder } = require('string_decoder')const decoder = new StringDecoder('utf8')let bufferOriginal = Buffer.from(JSON.parse(json).data)console.log(decoder.write(bufferOriginal)) // All work and no play makes Jack a dull boyconsole.log(decoder.end(bufferOriginal)) // All work and no play makes Jack a dull boy

登录后复制

当 Buffer 实例被写入 StringDecoder 实例时,会使用内部的缓冲区来确保解码后的字符串不包含任何不完整的多字节字符。 这些都保存在缓冲区中,直到下一次调用 stringDecoder.write() 或调用 stringDecoder.end()。

更多编程相关知识,请访问:编程视频!!

以上就是怎么将Nodejs中的buffer转为JSON格式和UTF-8字符串?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2708581.html

(0)
上一篇 2025年3月7日 20:23:11
下一篇 2025年2月28日 14:44:49

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 深入了解Node.js util模块的promisify()方法

    Node.js 内置的 util 模块有一个 promisify() 方法,该方法将基于回调的函数转换为基于 Promise 的函数。这使您可以将 Promise 链和 async/await 与基于回调的 API 结合使用。 例如,Nod…

    2025年3月7日
    200
  • 快速了解nodejs项目中如何增删改查文件

    这篇文章主要是写给初学node.js的同学,本篇文章主要姐介绍nodejs的文件模块,通过nodejs的文件模块,我们可以创建、读取、修改、删除我们操作系统上的文件或文件夹,同理在Linux服务器上也是可以运行的。因为nodejs是跨平台运…

    2025年3月7日
    200
  • nodejs 如何加密

    nodejs加密的方法:1、导入crypto模块;2、设置加密类型和要使用的加密密钥;3、将编码方式从utf-8转为hex;4、返回加密后的字符串即可。 本文操作环境:windows7系统、nodejs10.16.2版,DELL G3电脑。…

    2025年3月7日
    200
  • mac如何安装nodejs

    mac安装nodejs的方法:1、在官方下载网站下载pkg安装包,直接点击安装;2、使用“brew install node”命令来安装即可。 本文操作环境:macOS10.15系统、nodejs10.16.2版,MacBook Air 2…

    2025年3月7日
    200
  • 浅谈nodejs中怎么对字符串进行Base64编码和解码

    什么是base64编码?base64是如何工作的?下面本篇文章给大家介绍一下使用node.js对字符串进行 base64编码和解码的方法,希望对大家有所帮助! 什么是 Base64 编码? Base64 编码是一种将数据(通常是二进制)转换…

    2025年3月7日
    200
  • 怎么查看nodejs安装路径

    查看nodejs安装路径的两种方法:1、打开cmd命令行窗口,输入“where node”命令并回车即可输出nodejs的安装路径。2、打开“开始”菜单,找到并右击“Node.js”程序,在弹出菜单中点击“打开文件位置”即可查看安装路径。 …

    2025年3月7日 编程技术
    200
  • 怎么彻底删除nodejs

    彻底删除nodejs的方法:1、从卸载程序中卸载;2、从任务管理器中杀死所有与节点相关的进程;3、检查“%PATH%”环境变量;4、在命令提示符下输入where node并删除即可。 本文操作环境:Windows7系统、nodejs10.1…

    2025年3月7日
    200
  • 深入了解Node.js中的四大流,解决“背压”问题

    node.js的4种stream是什么?什么是背压问题?下面本篇文章就来带大家了解一下node.js中的四大流(stream),介绍一下背压问题和解决方法,希望对大家有所帮助! 把一个东西从 A 搬到 B 该怎么搬呢? 抬起来,移动到目的地…

    2025年3月7日 编程技术
    200
  • 一文快速了解Nodejs中的模块系统

    本篇文章带大家了解一下nodejs中的模块系统,希望对大家有所帮助! 模块化的背景 早期 JavaScript 是为了实现简单的页面交互逻辑, 但随着时代发展, 浏览器不单单仅只能呈现简单交互, 各种各样的网站开始大放光彩。随着网站开始变得…

    2025年3月7日
    200
  • linux 命令怎么安装nodejs

    linux命令安装nodejs的方法:1、选择一个合适的nodejs版本下载;2、通过“tar -xvf node-v10.6.0-linux-x64.tar.xz”命令将安装包上传到指定位置即可。 本文操作环境:linux5.9.8系统、…

    2025年3月7日
    200

发表回复

登录后才能评论