NodeJ中的缓冲区八位组流

vin*_*eet 2 node.js

我是NodeJs的新手,我读过Buffer但不清楚.

一些例子:-

1) var buffer = new Buffer(12);
2) var buffer = new Buffer([12,54,89]);
3) var buffer = new Buffer("Confusing about Buffer", "utf-8");
Run Code Online (Sandbox Code Playgroud)

我的疑问是,

  • 什么是缓冲区以及定义/实现的方式.
  • 上述例子的含义是什么.

sle*_*man 5

在javascript中,字符串不是二进制安全的.某些字符在字符串中是非法的.

这当然使得处理二进制数据(例如图像或mp3文件)变得非常困难,因为javascript中的所有I/O都处理字符串.

节点开发人员实现的解决方案是Buffers.将缓冲区视为二进制数据的字符串(并记住,文本是二进制数据的子集).

至于您的具体问题,第二个问题的答案将回答您的第一个问题:您发布的示例代码是如何定义缓冲区的示例.

  • 嗯,''foo\x00bar'`工作得很好. (2认同)