NodeJs关于Buffer

来源:互联网 发布:淘宝店铺保证金多少钱 编辑:程序博客网 时间:2024/05/22 15:20
面向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();//第二种构造方式数组 arrayfunction 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

原创粉丝点击