NodeJs关于Buffer

2 篇文章 0 订阅
面向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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值