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

最新文章

  1. ionic slidebox 嵌套问题
  2. mac系统如何显示和隐藏文件
  3. oracle mini project
  4. PasswordHasher
  5. LightOJ1017 Brush (III)(DP)
  6. Part 2 Creating, altering and dropping a database
  7. 在ECSHOP首页今日特价(促销商品)增加倒计时效果
  8. 基于visual Studio2013解决面试题之0205查找路径
  9. Http的四种post方式
  10. Tooltip浮动提示框效果(掌握里面的小知识)
  11. qt 文本中显示中文
  12. OC语言(六)
  13. DAY1 VS2017&CUDA10.01环境搭建
  14. Flask WTForms的使用和源码分析 —— (7)
  15. kafka 发送确认参数acks的几种模式
  16. maven加载springboot project
  17. angular post 带参数 导出excel
  18. buildroot构建项目(二)--- u-boot 2017.11 建立 2440 开发板
  19. 常用笔记:MySQL
  20. github view source

热门文章

  1. oracle给表及列添加注释
  2. owin-startup方法
  3. Thread.suspend和println使线程死锁
  4. js左右切换 选择年龄
  5. hdu1716(库函数next_permutation)
  6. arcgis server10.2.2公布地图基础服务的详细步骤
  7. python使用pytest+pytest报告
  8. 设计一部iphone手机用面向对象的方法
  9. POJ1151 Atlantis 扫描线算法
  10. 自然语言处理(NLP)书籍资源清单