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

node——buffer的更多相关文章

  1. Node.Buffer

    介绍 Buffer是一个典型的javascript与c++结合的模块,它将性能相关的部分用c++实现,将非性能相关的部分用javascript实现. 纯 JavaScript 对 Unicode 友好 ...

  2. Node buffer模块缓冲区

    //1:字节 byte//1024b = 1kb [千字节]//1024kb = 1mb [兆字节]//1024mb = 1gb [吉字节]//1024gb = 1tb [梯]//1024tb = 1 ...

  3. node Buffer.byteLength()

    Buffer.byteLength(string[, encoding]) string {String} | {Buffer} | {TypedArray} | {DataView} | {Arra ...

  4. Node Buffer 利用 slice + indexOf 生成 split 方法

    demo let buf = Buffer.from('你你我们我你们'); Buffer.prototype.split = function (seq) { let arr=[]; let len ...

  5. Node.js Buffer

    Buffer(缓冲区) JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer ...

  6. Node.js Buffer(缓冲区)

    JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...

  7. 8、Node.js Buffer(缓冲区)

    内容:Buffer与字符编码,Buffer创建.写入.读取.转换成JSON对象.合并.比较.拷贝.裁剪.长度 Buffer 与字符编码Buffer 实例一般用于表示编码字符的序列,比如 UTF-8 . ...

  8. 【node.js】Buffer(缓冲区)

    Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区. 创建 Buffer 类 Node Buffer 类可以通过多种方式来创建. 1.创建长度为 10 字节的 ...

  9. Node.js:Buffer(缓冲区)介绍及常用方法

    JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门 ...

随机推荐

  1. java IO框架分析

    jave.io框架 2010-11-10 22:18:34|  分类: 默认分类|举报|字号 订阅     可从IO的类层次,IO框架的设计模式来论述. 总体来说,IO可以分为字节流和字符流,不同在于 ...

  2. 利用echarts做图表统计

    以项目中的扇形统计图为例: 首先,第一步: 引入外部echarts.js文件 其次,第二步: HTML代码块 <div class="count-body-con count-tj&q ...

  3. 字体大小之px、em、rem、pt,字号详解

    PX px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. 是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Pe ...

  4. sqlserver日志文件太大解决方法

    SQL Server 的事务日志意外增大或充满的处理方法 事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf. 在 SQL Server 7.0 和 S ...

  5. Visifire实现统计图

    /// <summary> /// 柱形图 /// </summary> public static Chart InitCompareChart(string fundNam ...

  6. 0923关于安装mysql两种简单方式

    http://blog.csdn.net/liumm0000/article/details/18841197 方式一:利用RPM安装包进行安装 RPM方式安装MySQL5.6 RPM方式安装MySQ ...

  7. POJ 3528

    三维凸包 /* 增量法求凸包.选取一个四面体,同时把它各面的方向向量向外,增加一个点时,若该点与凸包上的某些面的方 向向量在同一侧,则去掉那些面,并使某些边与新增点一起连成新的凸包上的面. */ #i ...

  8. Javascript中数据实时推送

    数据变化后前端需要更新,有几种方式:(参考http://www.xiaocai.name/post/cf1f9_7b6507) .利用setInterval函数,每隔n秒去异步拉取数据.对数据实时性要 ...

  9. android中LocalBroadcastManager的使用

    今天遇到一个acitivity之间通信的问题,因为我们是用TabActivity包裹了Activity(我们称之为A).所以这两个Activity是同一时候存在的.当在TabActivity中启动其它 ...

  10. xcode Could not launch "" ; has denied the launch request

    xcode Could not launch "" ;  “”“ has denied the launch request  (注意,这种方式不能调试) 1.编辑scheme 2 ...