码迷,mamicode.com
首页 > 其他好文 > 详细

node缓冲区

时间:2015-01-04 12:03:37      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

 why?

javascript不擅长处理二进制数据而node需要处理二进制的数据,因此引入一个二进制的缓冲区来实现,它将buffer伪类的javascript API暴露给外界 它以字节为计量单位,可以设置和获取缓冲区的数据

(1)创建缓冲区

var buf = new Buffer(‘*‘,‘*‘);

参数1 缓冲区初始化的内容

参数2 使用什么编码风格创建缓冲区

var buf = new Buffer(‘hello world‘,‘UTF-8‘);

也可以这样初始化缓冲区  

var buf = new Buffer(1024); //指定缓冲区长度(在这里我们虽然没有设置缓冲区的值 但是里面存储的是一些随机的值)

(2)获取缓冲区数据和设置数据

var buf = new Buffer(1024);

console.log(buf[100]);//获取100位置的字节

buf[100] = 120;//设置100位置的字节

(3)切分缓冲区和复制缓冲区

var buffer = new Buffer(‘hello world‘);
var smallbuffer = buffer.slice(0,5);
console.log(smallbuffer.toString());//hello

切分缓冲区并没有分配新的内存,所以当父缓冲区修改的时候,子缓冲区也会得到修改  父缓冲区不会被垃圾收集处理

而复制缓冲区则不同

var buffer = new Buffer(‘hello world‘);
var smallbuffer = new Buffer(6);;

buffer.copy(smallbuffer,0,0,5);
console.log(smallbuffer.toString());//hello

(5)缓冲区解码

前面用过smallbuffer.toString()

也可以为它指定字符集

 

node缓冲区

标签:

原文地址:http://www.cnblogs.com/tiantianwaigong/p/4200655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!