zoukankan      html  css  js  c++  java
  • node——buffer

    buffe方便数据的传输,可一次性传输一部分数据
    一.类型介绍
    1.javascript语言没有读取或操作二进制数据的机制。
    2.Node.js中引入了Buffer类型可以使我们操作TCP流或文件流
    3.Buffer类型的对象类似于整数组,但是Buffer的大小是固定的、且在V8堆外分配物理内存。BUffer的大小在被创建时确定,且无法调整(buf.length是固定的,不允许被修改)
    4.Buffer是全局的,所以使用的时候无需require的方式来加载
    二,创建BUffer对象
    1.通过Buffer.from()创建一个Buffer对象
    Buffer.from(string[,encoding])

    var arry=[0x68,0x6c,0x6c,0x6f,0x20];
    var buf=Buffer.from(arry);//转为Buffer类型
    console.log(buf);
    console.log(buf.toString('utf8'));

    var buff=Buffer.from('你好!');
    console.log(buff);
    console.log(buff.toString('utf8'));

    2.拼接多个Buffer对象为一个对象

    var arry=[0x68,0x6c,0x6c,0x6f,0x20];
    var buf=Buffer.from(arry);//转为Buffer类型
    
    var buff=Buffer.from('你好!');
    
    var bufferlist=[buf,buff];
    var buffe=Buffer.concat(bufferlist);
    console.log(buffe.toString('utf8'));

    3.获取字符串对应字节个数

    一个中文3个字节,一个数字或英文或符号1个字节

    var len=Buffer.byteLength('hello世界!');
    console.log(len);

    len=12

    4.判断一个对象是否为Buffer类型对象

    Buffer.isBuffer(obj)

    返回是true则为Buffer,反之不是

    5.获取Buffer中对应的字节(buf为对象名)

    buf[index]

    类似数组

    6.获得Buffer对象中的字节个数(buf为对象名)

    buf.length

    buf.length属性不可修改

    7.Buffer对象与编码

    Node.js目前支持的编码如下:

    1.ascil

    2.utf8

    3.utf16le

     。ucs2是utf16le的别名

    4.base64

    5.latin1

     。binary是Latin1的别名

    6.hex

     。用两位16进制来表示每个字节

    var buf1=Buffer.from('你好世界,Hello World!','utf8');
    console.log(buf1.toString('hex'));
    console.log(buf1.toString('base64'));
    console.log(buf1.toString('utf8'));

  • 相关阅读:
    2021“MINIEYE杯”中国大学生算法设计超级联赛2
    2021“MINIEYE杯”中国大学生算法设计超级联赛1
    2021牛客暑期多校训练营3
    2021牛客暑期多校训练营1
    对点分治的一些新理解
    使用均摊分析证明Splay复杂度
    从实际项目中学设计模式:策略模式与模板模式的应用
    ueditor编辑器html模式下无法保存内容
    记录一次项目开发中遇到的问题
    加解密代码
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/11013275.html
Copyright © 2011-2022 走看看