Node.js Buffer库基础函数
2021/11/2 1:09:42
本文主要是介绍Node.js Buffer库基础函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
缓冲区
JS本身并没有二进制数据类型,所以需要用buffer库来处理二进制数据
使用:
const buf = Buffer.from('runoob','ascii'); //输出72756e6f6f62 console.log(buf.toString('hex')); //输出base64数据 console.log(buf.toString('base64'));
写入缓冲区
buf.write(string[, offset[, length]][, encoding])
● string为字符串
● offset为索引值
● length为写入的字节数
● encoding使用的编码
● 函数返回的值为实际写入的大小,空间不足只会返回部分写入的字符串大小
buf = Buffer.alloc(256);//指定一个缓冲区的大小 len = buf.write('www.runoob.com');
读取缓冲区
buf.toString([encoding[,start[,end]]])
● encoding使用的编码,默认utf-8
● start指定开始读取的索引位置,默认0
● end结束位置,默认为缓冲区末尾
● 函数返回值=解码缓冲区数据并使用指定的编码返回字符串
实例:
buf = Buffer.alloc(26); for(var i = 0;i<26;i++)buf[i] = i+97; console.log(buf.toString('ascii'));//输出26个字母
Buffer转换为Json对象
buf.toJSON();
缓冲区合并
Buffer.concat(list[,totalLength])
● list用于合并的Buffer对象数组列表
● totalLength合并后对象的总长度
● 函数返回一个新buffer对象
var buffer1 = Buffer.from(('1234')); var buffer2 = Buffer.from(('www')); var buffer3 = Buffer.concat([buffer1,buffer2]); console.log(buffer3.toString());//1234www
缓冲区比较
buf.compare(otherBuffer); var buffer1 = Buffer.from('ABC'); var buffer2 = Buffer.from('ABCD'); var result = buffer1.compare(buffer2); if(result < 0) { console.log(buffer1 + " 在 " + buffer2 + "之前"); }else if(result == 0){ console.log(buffer1 + " 与 " + buffer2 + "相同"); }else { console.log(buffer1 + " 在 " + buffer2 + "之后"); }//ABC在ABCD之前
返回一个数字,倘若数字小于0则在比较数字之前。其他情况举反
拷贝缓冲区
buf.copy(targetBuffer[,targetStart[,sourceStart[,sourceEnd]]])
● targetBuffer要拷贝的对象
● targetStart数字可选,默认0
● sourceStart数字可选,0
● sourceEnd数字可选,0
● 无返回值
var buf1 = Buffer.from('abcdefghijk'); var buf2 = Buffer.from('RUNOOB'); buf2.copy(buf1,2);//将buf2插入到buf1上 console.log(buf1.toString());//abRUNOOBijk
裁剪缓冲区
buf.slice([start[,end]])
● start默认0
● end默认buffer.length
这篇关于Node.js Buffer库基础函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23【JS逆向百例】爱疯官网登录逆向分析
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程