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

  • start {Number} 默认:0
  • end {Number} 默认:buffer.length
  • 返回:{Buffer}

返回一个指向相同原始内存的新 Buffer ,但会有偏移并通过 start 和 end 索引值进行裁剪。
请注意,修改这个新的 Buffer 切片,将会修改原始 Buffer 的内存,因为这两个对象共享所分配的内存。
例子:创建一个 ASCII 字母的 Buffer,进行切片,然后修改原始 Buffer 上的一个字节。
```
const buf1 = Buffer.allocUnsafe(26);

for (var i = 0; i < 26; i++) {

buf1[i] = i + 97; // 97 is ASCII a

}

const buf2 = buf1.slice(0, 3);

buf2.toString('ascii', 0, buf2.length);

// Returns: 'abc'

buf1[0] = 33;

buf2.toString('ascii', 0, buf2.length);

// Returns : '!bc'


指定负索引会导致产生相对于这个 Buffer 的末尾而不是开头的切片(slice)。

const buf = Buffer.from('buffer');

buf.slice(-6, -1).toString();

// Returns 'buffe', equivalent to buf.slice(0, 5)

buf.slice(-6, -2).toString();

// Returns 'buff', equivalent to buf.slice(0, 4)

buf.slice(-5, -2).toString();

// Returns 'uff', equivalent to buf.slice(1, 4)

buf.slice()的更多相关文章

  1. buf.includes()

    buf.includes(value[, byteOffset][, encoding]) value {String} | {Buffer} | {Number} byteOffset {Numbe ...

  2. buf.indexOf()

    buf.indexOf(value[, byteOffset][, encoding]) value {String} | {Buffer} | {Number} byteOffset {Number ...

  3. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  4. node(Buffer缓存区)

    // 创建buffer类 var buf=new buffer(10); var buf=new buffer([10,20,30,40]); var buf=new buffer("www ...

  5. nodejs复习01

    console 格式化 console.log("%s:%s", "a", "b") //字符串 console.log("%d. ...

  6. Node.js入门笔记(3):全局对象(2)

    buffer 用于更好操作二进制数据,他是一个全局变量.类似数组. var a=new Buffer(); buffer类的三种实现 第一种创建方式 new Buffer(size);size[Num ...

  7. nodejs的第四天学习笔记

    一. ECMAScript6(es2015)es6语法 es6/es2015,在es5的基础上扩展了很多新的功能,我们要学习仅仅是es6中的部分常用新功能,这些功能在使用的时候一定要慎重,因为他们之中 ...

  8. node.js Stream Buffer FsPromise

    Stream: 类似这样:a.pipe(b).pipe(c); 我想写一个b.所以: var rs=new (require('stream').Readable)(); var ws=new (re ...

  9. Java——新IO 缓冲区与Buffer

    缓冲区和Buffer import java.nio.IntBuffer; //================================================= // File Na ...

随机推荐

  1. 51nod 1188 最大公约数之和 V2

    第二个\( O(T\sqrt(n)) \)复杂度T了..T了..T了...天地良心,这能差多少?! 于是跑去现算(. \[ \sum_{i=1}^{n-1}\sum_{j=i+1}^{n}gcd(i, ...

  2. 【Aizu - 0005 】GCD and LCM

    GCD and LCM Descriptions: Write a program which computes the greatest common divisor (GCD) and the l ...

  3. python产生时间

    原来Python在1991年就产生了,google最开始也是两个斯坦福的研究生用Python写的爬虫构建的

  4. 影响TCP连接寿命的因素

    NAT超时 大部分移动无线网络运营商都在链路一段时间没有数据通讯时,会淘汰 NAT 表中的对应项,造成链路中断.NAT超时是影响TCP连接寿命的一个重要因素(尤其是国内),所以客户端自动测算NAT超时 ...

  5. 用代码设置 RelativeLayout.LayoutParams

    1.注意 不能在RelativeLayout容器本身和他的子元素之间产生循环依赖,比如说,不能将RelativeLayout的高设置成为WRAP_CONTENT的时候将子元素的高设置成为 ALIGN_ ...

  6. HTML/XML转义字符对照表

    HTML/XML转义字符对照表 HTML/XML转义字符对照表包含符号.数学符号.希腊字母 .重要的国际标志.ISO 8859-1 (Latin-1)字符集.特殊符号等. 1.特殊字符转义表 字符 十 ...

  7. Python的数据类型:list和tuple

    今天开始认真的学习python. 1.list类型 list是python的一种数据类型,它是一种有序列表,可以随时添加和删除其中的元素. 1.1 list类型的特征 list类型内的成员类型可以相同 ...

  8. C#_JDBC连接数据库

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. 防止系统页面被加载进 iframe 子窗口

    在controller的返回的响应头中添加 response.addHeader("x-frame-options", "DENY");  即可

  10. 【原】无脑操作:Eclipse + Maven + jFinal + MariaDB 环境搭建

    一.开发环境 1.windows 7 企业版 2.Eclipse IDE for Enterprise Java Developers  Version: 2019-03 (4.11.0) 3.JDK ...