buffer缓冲区

Buffer(缓冲区)                nodejs.cn看API文档


客服发送请求到服务器,数据就存储在Buffer中,服务器返回回应,数据也存储在Buffer中
    - Buffer的结构和数组很像,操作的方法也和数组类似
    - 数组中不能存储二进制的文件(图片、mps3等),而buffer就是专门 用来存储二进制数据的
    - 使用buffer不需要引入模块,直接使用即可
    - 在buffer中存储的都是二进制数据,但是显示时都是以16进制的形式显示的,只要数字在控制台或页面中输出,一定是十进制
        buffer中的每一个元素的范围是从 00-ff     (0-255)
        00000000 - 11111111
        计算机中 一个0或1 我们称为1位(bit)
        8bit = 1byte(字节)

    - buffer中的一个元素,占用内存的一个字节
            console.log(buf.length)        //输出的是占用内存的大小、
            console.log(str.length)        //字符串的长度

Buffer.from()    
    将一个字符串转换为buffer(在buffer中存储的都是二进制数据)
            var str = 'Hello 尚硅谷'
            var buf = Buffer.from(str)
            console.log(buf)        //<Buffer 48 65 6c 6c 6f 20 41 74 67 75 69 67 75>

buf.toString()
    - 将缓冲取中的数据转换为字符串,把一个buffer对象转换为字符串
        var buf4 = Buffer.from('我是一段文本数据')
        console.log(buf4)            //<Buffer e6 88 91 e6 98 af e4 b8 80 e6 ae b5 e6 96 87 e6 9c ac e6 95 b0 e6 8d ae>
        console.log(buf4.toString())        //我是一段文本数据

    
Buffer.alloc()
    - 创建一个指定大小的buffer
                    buffer的构造函数已弃用
                    //var buf2 = new Buffer(10)        //10个字节的buffer
        1.创建一个buffer
            var buf2 = Buffer.alloc(10)
        2.通过索引,来操作buf中的元素
            buf2[0] = 88
            buf2[1] = 255
            buf2[2] = 0xaa        //添加一个16进制的
            buf2[3] = 556        //只取8位的二进制数值,超出的从前面舍去
            buf2[10] = 'asd'    //不报错也没效果(角标越界)
            console.log(buf2)        //<Buffer 58 ff aa 00 00 00 00 00>     转换成了16进制的
            console.log(buf2[2])        // 170  只要数字在控制台或页面中输出,一定是十进制
            console.log(buf[2].toString(16))    //调用Number类型的toString()方法可以传一个参数,表示输出的进制
    - buffer的大小一旦确定,则不能修改,Buffer实际上是对底层内存的直接操作

Buffer.allocUnsafe()
    - 创建一个指定大小的buffer,但是buffer中可能含有敏感数据        
            var buf3 = Buffer.allocUnsafe(10)
            console.log(buf3)            //可能含有之前用过的数据

 

posted @   蜘蛛流  阅读(103)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示