欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习node.js(二)—— Buffer

程序员文章站 2024-03-06 16:08:56
...

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

Buffer对象

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

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

例如:
学习node.js(二)—— Buffer

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

Buffer实例方法

学习node.js(二)—— 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