node学习笔记(25) - buffer缓存区的讲解
Buffer
缓存区
Buffer
是内存区域,它表示在V8
引擎外部分配置的固定大小的内存区块(无法调整大小); 理论上来讲,前端的JavaScript
是无法从代码层面上直接操控内存的,但是在nodejs
环境中,我们可以控制一段数据的内存的大小,就是调控Buffer
的大小。我们可以将Buffer
数据视为一个数组,每一个整数就代表一个数据字节Buffer
在node
中被引入用以帮助开发者操纵处理二进制数据; 对于前端来讲,对于二进制数据的操作的需求是比较少的,大部分情况下,前端只需要处理字符串就可以了,使用JavaScript
提供的string
对象完全可以应对,但是后端不一样,在后端,我们通常需要读取或操作一些长文本,或者处理前端传过来的图片和大文件等,这些对象都是二进制的, 在这些应用场景中,string
就显得力不从心了! 由此引出Buffer
!使用官方网站提供的应用场景就是: 当我们在观看
YouTube
视频时,红线超过了观看点,也就是下载数据的速度比查看数据的速度快,浏览器就会对数据进行缓冲!
Buffer
对比string
- 下面展示一个案例: 将一段文本的第一个字符变成大写
/* 1. 使用string方法 */ |
/* 2. 使用buffer */ |
Buffer
在Node
中的基本使用
- Buffer在
node
中的应用非常的广泛,常结合stream
(数据流)来进行使用!
创建buffer
的三种方法
Buffer.from()
const b1 = Buffer.from('10');//字符串 |
Buffer.alloc
/* |
Buffer.allocUnsafe
(不能使之默认值和编码格式,只能设置长度)
const bAllocUnsafe1 = Buffer.allocUnsafe(10); |
其他操作:
const buffer = Buffer.from('hello! world...')// 创建buffer |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库