学习node.js(二)—— Buffer

在node中,在处理网络协议、操作数据库、处理图片、接收上传文件、在处理网络流和文件的操作中,还需要处理大量二进制数据,js原有的字符串不足以满足这些需求,于是Buffer应运而生;

Buffer对象

Buffer对象类似于数组,它的元素为16进制的两位数,即0到255的数值。

  • 不同编码的字符串占有元素的个数不一样,中文字在UTF-8下占用三个元素,字母和半角标符号占一个元素;
  • 不同的编码规则(base64、UTF-8),相同的字符占有的元素个数也不一样;

例如:
这里写图片描述

  • Buffer也可以通过length属性得到长度,也可以通过下标访问元素,在构造对象时也很相似:
   var bufffer = new Buffer(10)
   console.log(buffer.length); // 10

Buffer实例方法

这里写图片描述

var buf = new Buffer('hello jinghong');
buf.length; // 14
buf.write('Hi jinghong');//11
buf.toString(); //'Hi jinghong'
buf.length; //14这个长度是初始化Buffer时候指定的
buf.write('  jinghongjinghongjinghong', 2, 16); //12
buf.toString(); // 'Hi  jinghongji'
var buf = new Buffer('hello world')
buf.length;//11
var buf2 = new Buffer(5);
buf.copy(buf2);//5
buf2.toString();//hello
buf.copy(buf2, 0, 6, 11)//5, buf2是从buf的第6位开始复制到第11位(不包含第11位);buf2是从第1位开始写入;
buf2.toString(); // world
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值