Buffer的创建 和使用
-
buffer 英[ˈbʌfə(r)]
美[ˈbʌfɚ]
n. 缓冲器; 起缓冲作用的人(或物); [化] 缓冲液,缓冲剂; [计] 缓冲区;
vt. 缓冲; [化]把缓冲液加入(溶液);
[例句]Keep savings as a buffer against unexpected cash needs
存些积蓄以备不时之需。
[其他] 第三人称单数:buffers 复数:buffers 现在分词:buffering 过去式:buffered 过去分词:buffered
- 一个操作二进制数据的类,我们在操作文件,或者网络数据的时候,实际上操作的是二进制数据流,Node 为我们提供了一个更加方便的去操作这种数据流的类Buffer,他是一个全局的类;
- new Buffer(size);数字
- new Buffer(array)数组
- new Buffer(string,[encoding])字符串 ;编码方式;
- 这个类使用起来,有点类似数组的意思,相似,但是不是数组.
new Buffer(size); —— size[Number] ——创建一个Buffer对象,并且为这个对象分配一个大小.
- 当我们为一个Buffer对象分配一个空间大小的时候,,其长度是固定的,不可以更改.
- 16进制的
<Buffer 6d 69 61 6f 76>
2进制的
109
105
97
111
118
var bf=new Buffer("miaov","utf-8");
console.log(bf);
for(var i=0; i<bf.length; i++){
console.log(bf[i]);
}
转化成16进制的编码方式:
var bf=new Buffer("miaov","utf-8");
console.log(bf);
for(var i=0; i<bf.length; i++){
console.log(bf[i].toString(16));
}
<Buffer 6d 69 61 6f 76>
6d
69
61
6f
76```
操作2进制变成字符串的方法;
var bf=new Buffer("miaov","utf-8");
console.log(bf);
for(var i=0; i<bf.length; i++){
//console.log(bf[i].toString(16));
console.log(String.fromCharCode( bf[i]));
}
<Buffer 6d 69 61 6f 76>
m
i
a
o
v
一个中文汉字的占用为3个字节长度;
var str1= "miaov";
var bf1= new Buffer("miaov");
console.log(str1.length);
console.log(bf1.length);
var str2= "妙味";
var bf2=new Buffer("妙味");
console.log(str2.length);
console.log(bf2.length);