node学习之Buffer

127 阅读1分钟

缓冲区Buffer是暂时存放输入输出数据的一段内存

JS语言没有二进制数据类型,而在处理TCP和文件流的时候,必须要处理二进制数据

NodeJS提供了一个Buffer对象来提供对二进制数据的操作

是一个表示内存分配的全局对象,也就是说要放到缓冲区中的字节数需要提前确定

Buffer好比由一个多位字节元素组成的数组,可以有效的在JavaScript中表示二进制数据

字节

1024b = 1k;

8bit(8个二进制) = 1b;

1个汉字(3个b)

1个字节转化成十进制是255

1个字节最大转换成16进制是ff

定义buffer的三种方式

通过长度定义buffer

let buffer = Buffer.alloc("6");
let buffer = Buffer.allocUnsafe("6");

通过数组定义buffer

let buffer = Buffer.from([1,2,3,4]);//会自动把10进制转化成16进制
buffer.length //转化为buffer后长度为buffer的长度

字符串创建创建buffer

let buffer = Buffer.from("关注我")

buffer.fill 方法,填充buffer中的内容

buffer.toString方法,将buffer转化成字符串

buffer.slice方法,截取想要的buffer

buffer.copy方法,拷贝buffer

Buffer.concat方法,buffer的拼接方法

Buffer.isBuffer,判断是否是buffer类型