面向Buffer里面的方法举了3个例子
//var buf =new Buffer(20); //第一种构造方式size
//console.log(buf,buf.length);
//
//API上有一处勘误,做了1个测试buffer.fill(value, [offset], [end])
// offet 填充数据的开始位置,不指定默认为 0
//
function testSizeBuffer() {
const buf1 =new Buffer(20);
const buf2 =new Buffer(20);//第二段内存
const f =buf1.fill("w",0,10);//fill用于初始化和约定显示位置,内存转换成16进制,offset默认是0,从buf1的[0]
const f1 =f1 =buf2.fill("w",10);//按API说明应该是一样的,实际上和上面不一样,end从buf2[10]开始
const len = buf1.length;
const len1 =buf2.length;
console.log(f,len);
console.log(f1,len1);
}
//testSizeBuffer();
//第二种构造方式数组 array
function testArrayBuffer() {
const buf =new Buffer(30);
const buf1 =new Buffer([0,1,255]);
const buf2 =new Buffer(['a','d','year']);
const len = buf.length;
const len1 = buf1.length;
const len2 = buf2.length;
console.log(buf,len);
console.log(buf1,len1); //16进制转换
console.log(buf2,len2);
}
//testArrayBuffer();
var tasks = []; //写一个函数数组
function addTask(task){
tasks.push(task);
}
function next(){
if(tasks.length > 0){
tasks.shift()();//长度大于0,添加到数组内
}else{
return; //返回默认为false
}
}
function testCodeBuffer() {
str ="我爱testerhome社区";
const buf =new Buffer(str);//e6 88 91 e7 88 b1 74 65 73 74 65 72 68 6f 6d 65 e7 a4 be e5 8c ba>
const word_0 =str[0],word_1 =str[1],word_3=str[3],word_4=str[4];word_15=str[15] //第0位起
const len =buf.length;
const slice =str.slice(0,4);//取[0]-[4]
var task1 =function () {
console.log("执行word_num",word_0,word_1,word_3,word_4,word_15,len); //len是一次性取长度,长度以外的是undefined
next();
}
var task2 =function () {
console.log("slice:",slice,len);
next();
}
addTask(task1);
addTask(task2);
next();
}
testCodeBuffer(); //true