怎么将官方文档。
将 Buffer 转换为 JSON
缓冲区可以转换为 JSON。
let bufferOne = Buffer.from('All work and no play makes Jack a dull boy') console.log(bufferOne) // <Buffer 41 6c 6c 20 77 6f 72 6b 20 61 6e 64 20 6e 6f 20 70 6c 61 79 20 6d 61 6b 65 73 20 4a 61 63 6b 20 61 20 64 75 6c 6c 20 62 6f 79> 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 41 6c 6c 20 77 6f 72 6b 20 61 6e 64 20 6e 6f 20 70 6c 61 79 20 6d 61 6b 65 73 20 4a 61 63 6b 20 61 20 64 75 6c 6c 20 62 6f 79>
将 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 boy console.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字符串?的详细内容,更多请关注亿码酷站其它相关文章!
怎么将Nodejs中的buffer转为JSON格式和UTF-8字符串?
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除
转载请注明来源:怎么将Nodejs中的buffer转为JSON格式和UTF-8字符串?
本文永久链接地址:https://www.ymkuzhan.com/39209.html
本文永久链接地址:https://www.ymkuzhan.com/39209.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!