美文网首页我爱编程
四:处理二进制的Buffer类

四:处理二进制的Buffer类

作者: 谢玉胜 | 来源:发表于2018-06-08 10:26 被阅读0次
    1. 定义:
      JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。
      但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。

    2. 创建实例

    buf = Buffer.alloc(256);
    // 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer。
    const buf4 = Buffer.from([1, 2, 3]);
    
    // 创建一个包含 UTF-8 字节 [0x74, 0xc3, 0xa9, 0x73, 0x74] 的 Buffer。
    const buf5 = Buffer.from('tést');
    
    // 创建一个包含 Latin-1 字节 [0x74, 0xe9, 0x73, 0x74] 的 Buffer。
    const buf6 = Buffer.from('tést', 'latin1');
    
    
    1. 写入缓存
    buf = Buffer.alloc(256);
    len = buf.write("www.runoob.com");
    
    1. 缓存区读取
    buf.toString([encoding[, start[, end]]])
    buf = Buffer.alloc(26);
    for (var i = 0 ; i < 26 ; i++) {
      buf[i] = i + 97;
    }
    
    console.log( buf.toString('ascii'));       // 输出: abcdefghijklmnopqrstuvwxyz
    console.log( buf.toString('ascii',0,5));   // 输出: abcde
    console.log( buf.toString('utf8',0,5));    // 输出: abcde
    console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde
    
    1. Buffer的数据传换
    //专程json
    buf.toJSON()
    
    1. 合并缓存
    var buffer1 = Buffer.from(('菜鸟教程'));
    var buffer2 = Buffer.from(('www.runoob.com'));
    var buffer3 = Buffer.concat([buffer1,buffer2]);
    console.log("buffer3 内容: " + buffer3.toString());
    
    

    相关文章

      网友评论

        本文标题:四:处理二进制的Buffer类

        本文链接:https://www.haomeiwen.com/subject/ufvosftx.html