zoukankan      html  css  js  c++  java
  • None.js 第五步 Buffer(缓冲区)

    
    // 存数据,取数据;
    buf = Buffer.alloc(26);
    for (var i = 0; i < 26; i++) {
        buf[i] = i + 97;
    }
    
    • console.log(buf.toString('ascii'));
    • console.log(buf.toString('ascii',0,5));
    • console.log(buf.toString('utf8',0,5));
    • console.log(buf.toString(undefined, 0, 5));

    输出

        abcdefghijklmnopqrstuvwxyz
        abcde
        abcde
        abcde
    
    const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
    const json = JSON.stringify(buf);
    
    // 输出: {"type":"Buffer","data":[1,2,3,4,5]}
    console.log(json);
    
    const copy = JSON.parse(json, (key, value) => {
        //  这个地方最初的时候没有理解,其实原因很简单,就是运算符的优先级导致的
        //  这个时候如果单独打印
        value && value.type === 'Buffer'
        // 返回的其实是一个 false 并不是我们理解的一个true
        // 这个时候输出的是正确的
        return value && value.type === 'Buffer' ?
            Buffer.from(value.data) :
            value;
    
        // 这个时候输出的竟然是 lin
        return value && value.type === 'Buffer' ?
            "lin" :   // lin
            value;
    
        // 这个时候输出的就是 m 
        return value && value.type === 'Buffer' ?
            "lin" :
            "m";   // m
    
        // 这个时候输出的也是 m 
        return value && value.type === 'Buffer' ?
            Buffer.from(value.data) :
            "m";   // m
    });
    
    // 输出: <Buffer 01 02 03 04 05>
    console.log(copy);
    
  • 相关阅读:
    mysql 练习
    linux 常用软件安装-目录
    Python 三大神器
    Mysql 数据库安装配置
    Mysql数据库入门
    maven的安装与基本使用
    分布式事务
    分布式锁
    springcloud学习笔记
    springboot入门使用
  • 原文地址:https://www.cnblogs.com/mcat/p/8438855.html
Copyright © 2011-2022 走看看