当前位置: 首页 > wzjs >正文

广州做外贸网站王也头像男

广州做外贸网站,王也头像男,苏州搜索引擎优化,个人网站服务器下面是关于 Node.js 中的 Buffer(缓冲区) 的系统总结,涵盖了定义、创建、读取修改、溢出处理、中文编码问题以及字符串转换等关键用法👇 🧱 一、什么是 Buffer? Buffer 是 Node.js 提供的用于处理二进制数…

下面是关于 Node.js 中的 Buffer(缓冲区) 的系统总结,涵盖了定义、创建、读取修改、溢出处理、中文编码问题以及字符串转换等关键用法👇


🧱 一、什么是 Buffer?

Buffer 是 Node.js 提供的用于处理二进制数据的类。
在浏览器中我们可以使用 BlobArrayBuffer,但 Node 环境下使用 Buffer 更加高效和灵活。

Buffer 主要用于处理文件系统、网络传输中的数据。


✨ 二、创建 Buffer 的几种方式

// 1. 创建一个长度为 10 的 Buffer,初始值为 0
const buf1 = Buffer.alloc(10);// 2. 创建未初始化的 Buffer(更快,但内容是旧数据,需手动填充)
const buf2 = Buffer.allocUnsafe(10);
buf2.fill(0); // 推荐立即填充// 3. 使用数组初始化
const buf3 = Buffer.from([1, 2, 3]);// 4. 使用字符串初始化(可指定编码)
const buf4 = Buffer.from('Hello'); // 默认 utf-8 编码
const buf5 = Buffer.from('你好', 'utf8');

🧪 三、读取和修改 Buffer 内容

const buf = Buffer.from('Node');// 读取字节值(十进制 ASCII)
console.log(buf[0]); // 输出: 78,对应字符 N// 修改值
buf[0] = 100; // 改为字符 d (ASCII 100)
console.log(buf.toString()); // "dode"

🚫 四、Buffer 溢出处理

Buffer 是固定长度的,不能自动扩容,超出会被截断或不生效:

const buf = Buffer.alloc(2);
buf.write('abcd');
console.log(buf.toString()); // 输出 ab,后面 cd 被截断

写入的数据超出长度时,只写入前面的部分。


🌏 五、Buffer 中文乱码问题处理

const buf = Buffer.from('你好', 'utf8');
console.log(buf); // <Buffer e4 bd a0 e5 a5 bd>// 将 Buffer 转回中文字符串
console.log(buf.toString('utf8')); // 你好

⚠️ 中文字符占用多个字节(通常为 3 个),不能随意截取:

const cut = buf.slice(0, 2); // 截取不完整
console.log(cut.toString('utf8')); // 输出乱码

✅ 正确做法:用 iconv-lite 等库做中文切割或保留完整字节。


🔄 六、Buffer 与字符串的互相转换

// 字符串 => Buffer
const str = 'hello';
const buf = Buffer.from(str);// Buffer => 字符串
const newStr = buf.toString('utf8'); // "hello"

编码可以是:utf8asciibase64hexlatin1


🔍 七、实用方法补充

方法说明
buf.length返回字节长度
buf.slice(start, end)截取部分 Buffer
buf.write(str, offset, length, encoding)写入字符串
Buffer.concat([buf1, buf2])合并多个 Buffer
Buffer.isBuffer(obj)判断是否是 Buffer

✅ 总结一句话

Buffer 是 Node 中用于处理二进制数据的核心模块,支持高效的创建、读取、写入和转换,尤其适用于网络传输和文件读写中。


需要我帮你出一个 Buffer 使用的实战示例(比如文件读取、TCP 收包等)也可以告诉我~

http://www.dtcms.com/wzjs/792918.html

相关文章:

  • 南宁网站搜索引南宁企业网站建站
  • 自己建设网站要多久网站数据丢失了做数据恢复需多久
  • wordpress仿站教程百度云j网站开发
  • 免费的网站免安装wordpress阅读权限插件
  • 无锡做网站公司哪家好qq炫舞开发公司
  • 北京网站建设降龙WordPress获取用户的标签
  • 网页编辑超级工具箱wordpress 优化数据
  • 英雄联盟网站建设云龙微网站开发
  • 订做网站建设本地服务器域名解析网站建设
  • 代码高亮网站英文商务网站制作
  • 深圳市做网站知名公司有哪些汉口网站推广优化
  • 长沙鞋网站建设易优cms二次开发
  • 丰都网站建设费用水果网站首页设计
  • 郑州网站优化公司排名龙岗网站app建设
  • 网站侵权怎么做公证或证据保存保定中小企业网站制作
  • 个人网站怎么建立流程潍坊制作网站软件
  • 佛山怎么做网站仙桃网站建设
  • 学院网站建设方案wordpress栏目标题
  • 宁波seo网站服务网页版淘宝
  • 网站建设前期规划方案苏州网页制作报价
  • 在域名做网站apmserve设置多个网站
  • 学生组织网站建设seo技术快速网站排名
  • 绿色环保网站模板沈阳建设工程交易中心官网
  • 网站打开不对彩票网站搭建 做网站
  • 海报制作网站免费精准营销平台
  • 电商网站建设费用价格什么是门户网站广告
  • 二手房网站开发文档网站 提交入口
  • 北京金融网站建设移动网站屏蔽
  • asp网站首页模板新浪短链接在线生成
  • 重庆网站建设狐灵传媒深圳最近消息