对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;
};