素材巴巴 > 程序开发 >

node.js中的buffer缓冲区、创建一个指定大小的Buffer、将缓冲区的数据转换为字符串

程序开发 2023-09-14 23:24:29
  • buffer中一个元素占用内存的一个字节
  • buffer中三个字节代表一个汉字
  • buffer的大小一旦确定不能再修改,buffer实际上是对底层内存的直接操作
  • var str = "hello hello";
     var buf = Buffer.from(str);
     console.log(buf);
     console.log(buf.length); // 占用内存的大小
     console.log(str.length); // 字符串的长度

    var str = "你好呀";
     var buf = Buffer.from(str);
     console.log(buf);
     console.log(buf.length);
     console.log(str.length);

     创建一个指定大小的Buffer

    buffer的所有构造函数都是不推荐使用的

    var buf = new Buffer(10);
     console.log(buf);
     console.log(buf.length);

    var buf = Buffer.alloc(10);
     // 通过索引 操作buf元素
     buf[0] = 88;
     buf[1] = 255;
     buf[2] = 0xaa;
     buf[10] = 15;
     buf[3] = 556; // 556/256=44 (十六进制位2c)
     console.log(buf);
     console.log(buf[2]); // 只要数字在控制台或页面输出 输出形式都为十进制
     console.log(buf[2].toString(16)); // 转换成十六进制输出

    Buffer.allocUnsafe(size)创建一个指定大小的buffer,但是buffer中可能含有敏感数据

    alloc 创建空间并清空数据

    allocUnsafe 分配空间的时候没有清数据

    var buf = Buffer.allocUnsafe(10);
     console.log(buf);

    将缓冲区的数据转换为字符串

    var buf = Buffer.from("这是一段文本数据");
     console.log(buf);
     console.log(buf.toString());


    标签:

    素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。