对buffer.slice方法在Node.js的使用说明

方法显示:

回到一个新的缓冲区对象,新的缓冲区和旧的缓冲区共享一个内存。

但它是由起始和结束索引偏移量减少的。例如,缓冲区中有1到10个字节。我们只需要4-8个字节,所以我们可以利用这个功能buf.slice(4,8),因为他们都有一个记忆,所以他们不会消耗内存。

由于新的缓冲区被修改,旧缓冲区的内容也将被修改为共同内存的结果。

Grammar:

复制代码代码如下所示:

Buffer.slice({开始},{结束})



接收参数:

默认启动起始位置

结束位置,默认为缓冲区长度。

实例uff1a

使用ASCII代码字母表来创建一个缓冲区,使用切片函数,然后修改原始缓冲区中的一个字节。

复制代码代码如下所示:

VaR BUF1 =新的缓冲区(26);

对于(var i = 0;i < 26;i + +){

BUF1 {我} = I + 97; / / 97是ASCII

}

VaR BUF2 = buf1.slice(0, 3);

console.log(buf2.tostring('ascii ',0,BUF2。长度));

BUF1 { 0 } = 33;

console.log(buf2.tostring('ascii ',0,BUF2。长度));







源代码 uff1a

复制代码代码如下所示:

/ /待办事项(trevnorris):目前是array.prototype.slice(它)。

不遵循抛出范围索引的新标准。

buffer.prototype.slice =功能(开始、结束){

VaR len = this.length;

开始=开始;

End = util.isUndefined (end) LEN: ~~end;

如果(开始< 0){

开始=镜头;

如果(开始< 0)

启动= 0;

}如果(开始>){

开始=镜头;

}

如果(结束< 0){

结束=镜头;

如果(完< 0)

结束= 0;

否则}如果(结束)

结束=镜头;

}

如果(结束<开始)

结束=开始;

VaR buf =新NativeBuffer();

SliceOnto(,buf,开始、结束);

buf.length =结束-开始;

如果(buf.length > 0)

buf.parent = util.isundefined(这个母):this.parent;

返回buf;

};