IT评测·应用市场-qidao123.com技术社区

标题: node.js内置模块之---buffer 模块 [打印本页]

作者: 莫张周刘王    时间: 2025-1-9 19:54
标题: node.js内置模块之---buffer 模块
buffer 模块的作用

buffer 模块是 Node.js 的核心模块之一,用于处理处罚二进制数据。它重要提供了对 缓冲区 的操纵和管理功能,在需要直接操纵原始二进制数据(比方,网络请求、文件 I/O 或与硬件装备交互时)非常有效。
在 Node.js 中,数据是以 Buffer 对象的情势存储和处理处罚的。Buffer 对象答应直接访问内存中的数据,避免了对字符串的转换或复制,提供了高效的性能,尤其在处理处罚大量二进制数据时。
1. Buffer 模块的作用


2. Buffer 对象的特点


buffer 模块的相关api

1、创建 Buffer


  1. const buf1 = Buffer.alloc(10); // 创建一个 10 字节的 Buffer,默认填充为 0
  2. const buf2 = Buffer.from([1, 2, 3, 4, 5]); // 从数组创建 Buffer
  3. const buf3 = Buffer.from('hello', 'utf-8'); // 从字符串创建 Buffer,使用 utf-8 编码
复制代码
2、读取数据


  1. const buf = Buffer.from('hello world', 'utf-8');
  2. console.log(buf[0]);  // 输出 104 (表示 'h' 的 ASCII 码值)
  3. console.log(buf.toString());  // 输出 'hello world'
复制代码
3、写入数据


  1. const buf = Buffer.alloc(10);
  2. buf.write('Hello', 0, 'utf-8');  // 从索引 0 开始写入字符串 'Hello'
  3. console.log(buf.toString());  // 输出 'Hello'
复制代码
4、切割 Buffer


  1. const buf = Buffer.from('Hello World');
  2. const sliceBuf = buf.slice(0, 5);  // 创建一个新的 Buffer,从索引 0 到 5
  3. console.log(sliceBuf.toString());  // 输出 'Hello'
复制代码
5、比较 Buffer


  1. const buf1 = Buffer.from('abc');
  2. const buf2 = Buffer.from('abc');
  3. console.log(buf1.equals(buf2));  // 输出 true
复制代码
6、合并多个 Buffer


  1. const buf1 = Buffer.from('Hello');
  2. const buf2 = Buffer.from('World');
  3. const combined = Buffer.concat([buf1, buf2]);
  4. console.log(combined.toString());  // 输出 'HelloWorld'
复制代码
7、 Buffer 与字符编码

Buffer 自己不关心字符编码,它只是存储原始的字节数据。字符编码在转换 Buffer 和字符串之间时起作用。
  1. const buf = Buffer.from('你好', 'utf-8');
  2. console.log(buf);  // 输出字节数组
  3. console.log(buf.toString('utf-8'));  // 输出 '你好'
复制代码
常用方法总结


应用场景




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4