12Buffer缓冲区

在这里插入图片描述

Buffer(缓冲区)
- Buffer的结构和数组很像,操作的方法也和数组类似
- 数组中不能存储二进制的文件,而buffer就是专门用来存储二进制数据
- 使用buffer不需要引入模块,直接使用即可
- 在buffer中存储的都是二进制数据,但是在显示时都是以16进制的形式显示
- buffer中每一个元素的范围是从00 - ff,即0 - 255
  buffer中的一个元素,占用内存的一个字节
- Buffer的大小一旦确定,则不能修改。Buffer实际上是对底层内存的直接操作。
  比如Buffer.alloc(10);就是在内存中直接分配一块连续的10个字节空间。

//buffer.js
//下面演示将一个字符串存入buffer

var str = "Hello,zcq";
var buf = Buffer.from(str);

console.log(buf);//Buffer(9) [72, 101, 108, 108, 111, 44, 122, 99, 113](十六进制unicode编码)
console.log(buf.length);//占用内存的大小(即占用多少个字节)
//buffer2.js
//下面演示创建buffer
//可以去查node官方文档,缓冲区一节

//使用Buffer.alloc()创建
var buf = Buffer.alloc(10);
console.log(buf);//<Buffer 00 00 00 00 00 00 00 00 00 00>
//只要数字在控制台或页面中输出一定是10进制
console.log(buf[0]);

//使用Buffer.allocUnsafe()创建(性能比上面那个更改)
//创建一个指定大小的buffer,但是buffer中可能含有敏感数据
var buf2 = Buffer.allocUnsafe(10);//<Buffer aa 00 00 00 00 00 00 00 3c 00>
console.log(buf2);
//buffer3.js
//下面演示将缓冲区中的数据转换成字符串

var buf = Buffer.from("这是一个文本数据");
console.log(buf);//<Buffer e8 bf 99 e6 98 af e4 b8 80 e4 b8 aa e6 96 87 e6 9c ac e6 95 b0 e6 8d ae>
console.log(buf.toString());//这是一个文本数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值