问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

系统性学习 Nodejs(4)—— Buffer

发布网友 发布时间:2024-09-30 09:26

我来回答

1个回答

热心网友 时间:2024-12-13 09:12

在 Node 中,我们常需处理二进制数据,如文件操作、图片处理、网络 IO 等。为此,Node 引入了 Buffer,一个存储二进制数据的特殊对象,提供了操作二进制数据的能力。
非科班程序员可能对二进制数据较为陌生,以下简单介绍。计算机数据存储单位为字节,每个字节由8位组成。数字转换为二进制,以十进制 8 为例,转换为二进制为1 0 0 0,存储结构由8位组成,空余位补零。
数字进制包括10、8、16等,以10进制为例,数字8转换为二进制为1 0 0 0。英文字符存储通过ASCII表将每个字符对应值转为二进制,汉字则根据GBK规范转换,每个汉字占用两个字节,因汉字数量众多,需更复杂编码。
为容纳所有字符,Unicode国际组织制定了编码规范,包含所有字符,采用4个字节表示,解决了字符集问题。针对Unicode的变长字符编码方式,不同语言字符采用不同字节数编码。
Buffer类提供了多种方法,例如使用Buffer.from(string)创建Buffer实例,支持多种编码方式,如ASCII码。Buffer.from(array|arrayBuffer|buffer)、Buffer.alloc(size[, fill[, encoding]])、Buffer.allocUnsafe(size)等方法分别用于创建指定大小的Buffer实例、无填充Buffer实例。
Buffer写入使用buf.write(string[, offset[, length]][, encoding]),返回实际写入的长度;读取使用buf.toString([encoding[, start[, end]]])。Buffer合并使用Buffer.concat(list[, totalLength]),返回多个成员合并的新Buffer对象;裁剪使用buf.slice([start[, end]]),返回与旧Buffer执行同一块内存的新Buffer实例。
Buffer主要用于处理二进制数据,如文件操作。例如,实现文件拷贝功能时,若文件体积庞大,内存*可能导致程序卡死。借助Buffer,每次读取文件部分数据,写入到Buffer,再从Buffer写入文件,有效解决内存*问题。这是流(stream)的核心思路。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2009年的空调现在能卖多少钱,格兰仕和格力? 格力的二手空调怎么样 广州有哪些坑爹和靠谱的公司? 哪个品牌灌浆料好 灌浆料品牌哪个好 品牌榜:2024年灌浆材料十大品牌排行榜 投票结果公布【新】 羽西生机焕活隔离修颜乳适合哪些肤质的人使用? 羽西灵芝生机焕活隔离修颜乳的上脸感受如何? 羽西量肤修颜BB 霜的质地如何? 羽西量肤修颜隔离霜的滋润度如何? 说说对 Node 中的 Buffer 的理解?应用场景? 梦见儿子是什么预兆梦见儿子的含义 谁会推算身份证后四位数? 20310419770706***,求大神帮忙推算后四位。。。我实在脑细胞有限... 三浪是什么意思? 维子是什么意思? 小米mix3屏幕刷新率什么意思小米mix3屏幕刷新率 请问华为p10怎么样?闪存门是个啥意思啊? 用久了(一年之内)会不会出现... 卡普奇诺智能拼图游戏安卓APK 拼图王:小马过河内容简介 最新拼图软件叫什么 谁能告诉我手机上智能拼图的最高记录? win7系统无法连接打印机怎么解决? 周公解梦梦到好多棺材里面坐着好多老头 人的歌名有哪些 微星笔记本键盘失灵了,在bios下,dos下可以正常使用。重装了好几次系统... 歌名有哪些 淘宝还没查出来我虚假交易 我就已经把虚假交易的宝贝删除了 淘宝还会查... 淘宝虚假交易在被查之前下架虚假交易的宝贝还会不会还被查 全国计算机等级考试教程:二级VisualBasic版权信息 昙花一现怎么做?以白萝卜为例 月经期间能喝红糖姜茶吗 红糖姜茶什么时候喝最好 喝红糖姜水的最佳时间与功效 红糖姜茶什么时候喝最好,经期是早上喝吗(排毒湿气) 我想问 我选斧王怎么刷不了钱 单机的 我先-AP 进图在按-LEVEL25 -GOLD... 红糖姜茶什么时候喝最好呢 无线路由器与AP怎么接?高分! 新买了一个路由器做AP,设置好了手机连接能上网,电脑连接显示不识别网络... 吃点什么能变聪明呢,我最近要考ap了,但为什么觉得自己这么笨!_百度... 输出:5v=1000mA和输出3.6-8V=3.0A/12V=2.0A的充电器哪个快?_百度... 我们那个有一个露天井,我梦见下了几天雨,可是井里还是没水,井里很脏... 带四个月左右的孩子要注意哪些问题? 梦见好多水一会儿水就退了又过了一会儿我的一个情人掉进深井里去了淹没... 银河护卫队3是漫威电影里的吗? 梦见植皮手术的预兆 哪个品牌的控油水乳性价比高? 梦见给人植皮 控油的水乳套装有哪些推荐的? 性价比高的控油水乳有哪些? 你好,我是三星S3,在看微信朋友圈的时候,一返回老自动回到顶层,什么原因...