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