Node.js:Buffer基础

文章目录

  • 创建Buffer对象
  • Buffer对象的常用方法
    • 1. Buffer.from(string[, encoding])
    • 2. Buffer.from(array)
    • 3. Buffer.alloc(size[, fill[, encoding]])
    • 4. buf.toString([encoding[, start[, end]]])
    • 5. buf.toJSON()
    • 6. buf.compare(otherBuffer)
    • 7. buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])
    • 8. buf.slice([start[, end]])
  • 示例

在Node.js中,Buffer类是用于处理二进制数据的实用工具。它是一个全局对象,可以在所有模块中访问,而无需使用 require引入。

更多请查看Node.js中文文档

创建Buffer对象

可以使用以下方法之一来创建一个新的Buffer对象:

  1. 使用字符串创建:

    const buf = Buffer.from('Hello World', 'utf8');
    
  2. 使用数组创建:

    const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
    
  3. 使用Buffer.alloc创建指定大小的Buffer对象:

    const buf = Buffer.alloc(10);
    

Buffer对象的常用方法

1. Buffer.from(string[, encoding])

将一个字符串转换为Buffer对象,其中encoding参数是可选的,用于指定字符串的编码方式,默认为utf8

2. Buffer.from(array)

将一个数组转换为Buffer对象。

3. Buffer.alloc(size[, fill[, encoding]])

创建一个指定大小的Buffer对象,其中fillencoding参数都是可选的。fill用于指定初始化时填充的值,默认为0,encoding用于指定编码方式,默认为utf8

4. buf.toString([encoding[, start[, end]]])

将一个Buffer对象转换为字符串,其中encodingstartend参数都是可选的。encoding用于指定编码方式,默认为utf8startend用于指定转换的起始和结束位置。

5. buf.toJSON()

将一个Buffer对象转换为JSON对象。

6. buf.compare(otherBuffer)

比较两个Buffer对象的大小,返回 -101。表示第一个Buffer对象小于等于大于第二个Buffer对象。

7. buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])

将一个Buffer对象复制到另一个Buffer对象中,其中targetStartsourceStartsourceEnd参数都是可选的。

8. buf.slice([start[, end]])

提取一个Buffer对象的子集,其中startend参数都是可选的。

示例

// 创建一个Buffer对象
const buf1 = Buffer.from('Hello World', 'utf8');

// 输出Buffer对象
console.log(buf1); // 

// 将Buffer对象转换为字符串
const str = buf1.toString('utf8');
console.log(str); // Hello World

// 比较两个Buffer对象的大小
const buf2 = Buffer.from('hello world', 'utf8');
const result = buf1.compare(buf2);
console.log(result); // -1

// 复制一个Buffer对象
const buf3 = Buffer.alloc(5);
buf1.copy(buf3, 0, 0, 5);
console.log(buf3); // 

// 提取一个Buffer对象的子集
const buf4 = buf1.slice(0, 5);
console.log(buf4); // 

你可能感兴趣的:(Node,node.js,数学建模)