您的位置:首页 > Web前端 > Node.js

学习node.js(二)—— Buffer

2017-08-18 20:28 676 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  buffer