您可以在Node.js documentation on the Buffer class中阅读缓冲区
类似于整数数组,但对应于V8堆外部的原始内存分配。
到目前为止,非常好。
现在让我感到困惑的是技术上讲缓冲区的问题。它是一个只有一些额外函数的数组,用于使用特定编码创建和转换为字符串吗?
或者它还有“更多”吗?
答案 0 :(得分:33)
缓冲区是一块内存,就像在C / C ++中一样。您可以将此内存解释为各种长度的整数或浮点数的数组,或者作为二进制字符串。与像数组这样的高级数据结构不同,缓冲区不可调整大小。
大致相当于:
char*
或char[]
byte[]
bytes
或不可调整大小的bytearray
答案 1 :(得分:13)
BUFFER
是数据从一个地方移动到另一个地方的临时控制点。
为了理解什么是Buffer,我们需要知道计算机如何处理事物。见下图。
这个概念就像你正在观看Youtube视频一样,你可以在不下载整个视频的情况下开始观看视频。如果您的网速太慢,您会看到“缓冲”,这意味着计算机正在尝试收集数据,以便您继续观看该视频。
答案 2 :(得分:6)
http://nodejitsu.com/的解释......
Buffers是节点中Buffer类的实例,它是设计的 处理原始二进制数据。每个缓冲区对应一些原始内存 在V8之外分配。缓冲区的行为有点像整数数组, 但是没有可调整大小并且具有一大堆特定方法 用于二进制数据。另外,每个缓冲区中的“整数” 表示一个字节,因此限制为0到255(2 ^ 8 - 1)的值, 包容。
了解详情:Buffers in Node.js