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. 阿里云oss用做文件存储工具类

    package com.fsk.fsksystem.util; import java.io.IOException; import java.io.InputStream; import java. ...

  2. dubbo客户端初始化问题

    背景:工作中遇到了调用dubbo服务的场景,项目不是spring项目,我只想简单的调用服务端的接口,不想加入那么多配置. 在服务对接中,遇到调用dubbo服务的场景.按照公司的框架给的开发文档,要加配 ...

  3. poj 3041 最小点覆盖=最大匹配

    #include<stdio.h> #include<string.h> #define  N  510 int map[N][N],n,mark[N],link[N]; in ...

  4. js setTimeout函数

    最近在看JS DOM编程艺术,在第十章的动画里面有个setTimeout函数的例子中涉及了很多的引号,研究了好大一会才看明白,综合网上各个大神的解释和自己的理解,其原理是这样的: 首先看下程序源代码: ...

  5. asp.net--Area功能

    大型项目必用,这个必须要会,相当于一个MVC的子程序,方便管理,可以理解为一个独立的小MVC程序了 隔离代码.避免冲突 区域是独立的MVC小程序

  6. @Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用

    zookeeper基本是基于API和console进行znode的操作,并没有一个比较方便的操作界面,这里也发现了taobao 伯岩写的一个工具,可以比较方便的查询zookeeper信息. 工具的开发 ...

  7. 利用junit对springMVC的Controller进行测试

    本文转自http://www.tuicool.com/articles/7rMziy 平时对junit测试service/DAO层已经很熟悉不过了,如果不了解,可以猛戳这里,但是我们要测试contro ...

  8. Class 找出一个整形数组中的元素的最大值

    目的:找出一个整形数组中的元素的最大值   以下,我们用类和对象的方法来做.   #include<iostream> using namespace std; class Array_m ...

  9. 最简单的基于FFmpeg的移动端样例:IOS 推流器

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  10. Hibernate单表操作(一)——单一主键

    assigned由java应用程序负责生成.(手工赋值) native由底层数据库自己主动生成标识符,假设是MySQL就是increment,假设是oracle就是sequence.等等.