Node.js Buffer(缓冲区)

2020-06-17 05:29:54易采站长站整理
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之前


拷贝缓冲区
语法

Node 缓冲区拷贝语法如下所示:


buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])

参数

参数描述如下:

targetBuffer – 要拷贝的 Buffer 对象。

targetStart – 数字, 可选, 默认: 0

sourceStart – 数字, 可选, 默认: 0

sourceEnd – 数字, 可选, 默认: buffer.length

返回值

没有返回值。

实例


var buf1 = Buffer.from('abcdefghijkl');
var buf2 = Buffer.from('RUNOOB');

//将 buf2 插入到 buf1 指定位置上
buf2.copy(buf1, 2);

console.log(buf1.toString());

执行以上代码,输出结果为:


abRUNOOBijkl


缓冲区裁剪

Node 缓冲区裁剪语法如下所示:

buf.slice([start[, end]])

参数

参数描述如下:

start – 数字, 可选, 默认: 0

end – 数字, 可选, 默认: buffer.length

返回值

返回一个新的缓冲区,它和旧缓冲区指向同一块内存,但是从索引 start 到 end 的位置剪切。

实例


var buffer1 = Buffer.from('runoob');
// 剪切缓冲区
var buffer2 = buffer1.slice(0,2);
console.log("buffer2 content: " + buffer2.toString());

执行以上代码,输出结果为:


buffer2 content: ru


缓冲区长度语法

Node 缓冲区长度计算语法如下所示:


buf.length;

返回值

返回 Buffer 对象所占据的内存长度。

实例


var buffer = Buffer.from('www.mscto.com');
// 缓冲区长度
console.log("buffer length: " + buffer.length);

执行以上代码,输出结果为: