学习node.js(二)—— Buffer
2017-08-18 20:28
676 查看
在node中,在处理网络协议、操作数据库、处理图片、接收上传文件、在处理网络流和文件的操作中,还需要处理大量二进制数据,js原有的字符串不足以满足这些需求,于是Buffer应运而生;
不同编码的字符串占有元素的个数不一样,中文字在UTF-8下占用三个元素,字母和半角标符号占一个元素;
不同的编码规则(base64、UTF-8),相同的字符占有的元素个数也不一样;
例如:
Buffer也可以通过length属性得到长度,也可以通过下标访问元素,在构造对象时也很相似:
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
相关文章推荐
- node.js 学习第六天 缓冲区buffer
- node.js基础学习--IO-对象映射(fs,Buffer)
- node.js学习笔记之Buffer类
- Node.js学习 - Buffer
- node.js学习笔记--官方原生模块-queryString,url,Buffer
- node.js学习(十三、Buffer模块)
- Node.js学习笔记(4)--简单路由,老师学生id
- 学习用Node.js和Elasticsearch构建搜索引擎(7):零停机时间更新索引配置或迁移索引
- Node.js + Mongodb 建站学习历程1
- node.js学习笔记
- Node.js 学习笔记
- 关于Node.js中Buffer的一些你可能不知道的用法
- node.js学习笔记之写文件
- node.js 学习笔记——node.js 环境配置
- node.js学习之webpack打包react最简单用法
- node.js学习(1)
- Electron学习二:学习Electron和Node.js需要知道的JavaScript知识
- node.js学习(1)
- Node学习课程(1)——安装node.js
- node.js学习(HTTP)