分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

node.js里的buffer常见操作,copy,concat等实例讲解

发布时间:2023-09-06 01:10责任编辑:彭小芳关键词:js
//通过长度构建的buffer内容是随机的var buffer=new Buffer(100);console.log(buffer);//手动清空buffer,一般创建buffer不会清空buffer.fill(0);//通过字符串创建buffer//字符串具有不变性var str="阿尼";var buffer=new Buffer(str);console.log(buffer)// 通过数据创建 ,一般这种方式用的较少var buffer=new Buffer([0,255]);console.log(buffer);//代表的是内存,引用//数组的slice是浅拷贝let ary=[1,2,3];let ary1=[ary,100,200];let newAry=ary1.slice();ary[0]=500;console.log(newAry);// 深拷贝 ,指的是对象中里面存的对象和以前的对象毫无关系,但长的一样var obj={a:1};console.log([obj]===[{a:1}])// 浅拷贝 ,里面存放的内容和以前的是同一个地址var obj={a:1};console.log([obj]===[obj])var ee=Object.assign({w:1},{a:{a:1}}) //浅拷贝 将两个对象合成一个新的对象console.log(ee);//JSON.parse(JSON.stringify({a:{a:1}})); //深拷贝//buffer存放的都是内存地址,所有slice不会返回一个新的buffervar buffer=new Buffer([1,2,3]);var newBuffer=buffer.slice(0,1);newAry[0]=100;console.log(buffer);//var buf1=new Buffer(‘音乐‘);var buf2=new Buffer(‘啦啦‘);var bigBuffer=new Buffer(12);//拷贝buf1.copy(bigBuffer,0);buf2.copy(bigBuffer,buf1.length);console.log(bigBuffer.toString()) ;//可以调用toString方法转为字符//buffer concat//合并两个bufferlet ww=Buffer.concat([buf1,buf2]).toString();console.log(ww);//合并两个bufferBuffer.myConcat=function (list,totaLength) { ???//totaLength 是否传递,如果传递用传递的长度构建一个buffer ???//如果没有长度。循环list算出总长度,构建一个大buffer ???//循环list将每一个小buffer拷贝到大buffer上 ???//如果长度过长,可以截取有效的长度,返回大buffer ???if(typeof totaLength==‘undefined‘){ ???????totaLength=list.reduce((per,next)=>{ ???????????return per+next.length; ???????},0); ???????let buffer=new Buffer(totaLength); ???????let index=0; ???????list.forEach(item=>{ ???????????item.copy(buffer,index) ???????????index+=item.length; ???????}); ???????console.log(index); ???????return buffer.slice(0,index); ???}}console.log(Buffer.myConcat([buf1,buf2]).toString());

node.js里的buffer常见操作,copy,concat等实例讲解

原文地址:http://www.cnblogs.com/null11/p/7509352.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved