什么是Buffer
在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据。
global.Buffer => [function Buffer]
Buffer是一个典型的Javascript API和C++结合的模块,性能相关部分用C++实现,非性能相关部分用javascript实现。Node在进程启动时Buffer就已经加装进入内存,并将其放入全局对象,因此无需require即可使用。
数组 [] JSON {} Buffer <Buffer 68 74 74 70 73 3a 65>
Buffer对象:类似于数组,其元素是16进制的两位数。 <Buffer 68 74 74 70 73 3a 65>
为什么需要Buffer?
JavaScript最初是被设计为处理HTML文档的,因此并不善于处理二进制数据。Node中需要处理网络协议、操作数据库、处理图片、文件上传等,还需要处理大量二进制数据,为此Node提供了Buffer类,该类封装了对访问连续内存块的操作,可以处理内存中的数据及创建、切分缓冲区,还可以在两个缓冲区之间复制内存数据。
什么时候用Buffer
纯粹的Javascript支持unicode码而对二进制不是很支持,当解决TCP流或者文件流的时候,处理流是有必要的,我们保存非utf-8字符串,二进制等等其他格式的时候,我们就必须得使用”Buffer“。
Buffer使用
创建Buffer(不常用)
-
Buffer.from(array