zoukankan      html  css  js  c++  java
  • buf.slice()

    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)

  • 相关阅读:
    Mybatis连接配置文件详解
    MyBatis映射配置文件详解
    AGC 016 C
    CodeForces
    UVA
    某5道CF水题
    DZY Loves Chinese / DZY Loves Chinese II
    [SHOI2016] 黑暗前的幻想乡
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9908519.html
Copyright © 2011-2022 走看看