正如您可以在Buffer 类的 Node.js 文档中阅读的那样,缓冲区
类似于整数数组,但对应于 V8 堆外的原始内存分配。
到现在为止还挺好。
现在让我困惑的是从技术上讲缓冲区是什么的问题。它是一个只有一些附加函数的数组,用于使用特定编码创建和转换为字符串?
还是有“更多”?
正如您可以在Buffer 类的 Node.js 文档中阅读的那样,缓冲区
类似于整数数组,但对应于 V8 堆外的原始内存分配。
到现在为止还挺好。
现在让我困惑的是从技术上讲缓冲区是什么的问题。它是一个只有一些附加函数的数组,用于使用特定编码创建和转换为字符串?
还是有“更多”?
缓冲区是一块内存,就像在 C/C++ 中一样。您可以将此内存解释为各种长度的整数或浮点数数组,或二进制字符串。与数组等高级数据结构不同,缓冲区不可调整大小。
它大致对应于:
char*
或char[]
在 C/C++ 中byte[]
在爪哇bytes
或不可调整大小bytearray
来自http://nodejitsu.com/的解释...
缓冲区是节点中 Buffer 类的实例,旨在处理原始二进制数据。每个缓冲区对应于在 V8 之外分配的一些原始内存。缓冲区的行为有点像整数数组,但不可调整大小并且有一大堆专门用于二进制数据的方法。此外,缓冲区中的“整数”每个都代表一个字节,因此仅限于 0 到 255 (2^8 - 1) 之间的值,包括 0 到 255 (2^8 - 1)。
阅读更多:Node.js 中的缓冲区