您现在的位置是:主页 > Web前端技术 > Web前端技术

Node.js中Buffer对象怎么用

IDCBT2021-12-25服务器技术人已围观

简介小编给大家分享一下Node.js中Buffer对象怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! Buffer 是 Node.js 的内置类型,它是用来表示内存中一块区域的,用以

小编给大家分享一下Node.js中Buffer对象怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Buffer 是 Node.js 的内置类型,它是用来表示内存中一块区域的,用以保存二进制数据,可以将它看做为一个二进制数组。

Buffer 可以用来表示图片、视频这样的二进制数据,另外我们从文件中读取到的也是 Buffer 类型的数据,从网络中接收的数据也是 Buffer 类型的数据,所以学习 Buffer 还是很有必要的。

Buffer 位于全局作用域中,所以不需要通过 require('buffer') 来引入 Buffer。

创建 Buffer 对象

alloc

我们可以通过 Buffer.alloc(size, [fill], [encoding]) 来分配一个 size 字节大小的内存,还可以接收两个可选参数

    fill:使用 fill 来填充 Buffer 中的每一个字节

    encoding:如果 fill 为字符串,那么使用 encoding 来对字符串进行编码为二进制

    当不指定 fill 参数,默认为填充 0。

    const buf1 = Buffer.alloc(5);
    console.log(buf1); // <Buffer 00 00 00 00 00>
    
    const buf2 = Buffer.alloc(10, 1);
    console.log(buf2); // <Buffer 01 01 01 01 01 01 01 01 01 01>
    
    const buf3 = Buffer.alloc(12, "hello world!", "utf-8");
    console.log(buf3); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64 21>

    我们还可以使用 allocUnsafe(size) 来分配指定大小的内存,不过不会默认填充 0,其中的内容不确定

    const buf = Buffer.allocUnsafe(5);
    console.log(buf); // <Buffer c0 84 7c 2a 7b>

    我们可以通过 fill(fill, encoding) 方法为 Buffer 对象填充指定值

    const buf = Buffer.allocUnsafe(5);
    buf.fill(0);
    console.log(buf); // <Buffer 00 00 00 00 00>

    from

    我们也可以通过 Buffer.from() 方法来创建一个 Buffer 对象,from 方法可以接收的参数包括数组,字符串,Buffer 对象,对象等类型。

    接收一个整形数组,数组中的整数应该在 0~255 之间,超出此范围的数字将会被截断

    const buf = Buffer.from([1, 2, 3, 4, 5]);
    console.log(buf); // <Buffer 01 02 03 04 05>

    我们还可以像其中传入一个字符串,并指定编码,它会使用指定编码将字符串编码为二进制,如果不指定编码的话,默认为编码为

    标签:

    很赞哦! ()

本栏推荐