阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js Buffer.alloc

      Node.js Buffer.alloc(size[, fill[, encoding]]) 版本历史

      版本变更
      v10.0.0Attempting to fill a non-zero length buffer with a zero length buffer triggers a thrown exception.
      v10.0.0Specifying an invalid string for fill triggers a thrown exception.
      v8.9.3Specifying an invalid string for fill now results in a zero-filled buffer.
      v5.10.0新增于: v5.10.0
      • size < integer> 新建的 Buffer 的长度。
      • fill < string> | < Buffer> | < integer> 预填充 Buffer 的值。默认为 0。
      • encoding < string> 如果 fill 是字符串,则指定 fill 的字符编码。默认为 ‘utf8’。

      创建一个大小为 size 字节的 Buffer。 如果 fill 为 undefined,则用 0 填充 Buffer。

      const buf = Buffer.alloc(5);
      
      console.log(buf);
      // 输出: <Buffer 00 00 00 00 00>
      

      如果 size 大于 buffer.constants.MAX_LENGTH 或小于 0,则抛出 ERR_INVALID_OPT_VALUE。 如果 size 为 0,则创建一个长度为 0 的 Buffer。

      如果指定了 fill,则调用 buf.fill(fill) 初始化 Buffer。

      const buf = Buffer.alloc(5, 'a');
      
      console.log(buf);
      // 输出: <Buffer 61 61 61 61 61>
      

      如果同时指定了 fill 和 encoding,则调用 buf.fill(fill, encoding) 初始化 Buffer。

      const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
      
      console.log(buf);
      // 输出: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
      

      Buffer.alloc() 比 Buffer.allocUnsafe() 慢,但能确保新建的 Buffer 不会包含旧数据。


      更多内容请参考:Node.js Buffer 缓冲器,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录