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'));

  • 相关阅读:
    Consul 学习文章链接
    秒懂:tomcat 最大线程数 最大连接数
    使用 Spring Cloud Sleuth 实现链路监控 (转)
    (转)Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
    @RequestMapping 用法
    Spring 常用的几种注解
    [转] Spring MVC 深入分析
    [转]session listener的配置和使用
    web.xml中 Log4jConfigListener配置
    [mysql] 手动备份数据
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/11013275.html
Copyright © 2011-2022 走看看