```
// Buffer(缓冲区):
// 结构和数组很像,操作的方法也和数组类似
// 数组中不能存储二进制的文件,而buffer就是专门用来存储二进制数据
// 使用buffer不需要引入模块,直接使用即可
// 在buffer中存储的都是二进制数据,但是显示的都是以16进制的形式显示,00-ff(00000000-11111111)
var str = "hello world";
//将字符串保存到buffer中
var buf = Buffer.from(str)
console.log(buf) //<Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
console.log(buf.length) //13
console.log(str.length) //13
```
![](https://img.kancloud.cn/d9/51/d951def3cdc2be272dca635868169360_485x376.png)
```
指定缓冲区大小,但是所有的构造方法都已经被废弃了
var buf2 = new Buffer(1024) //指定内存大小,1024 = 1Kb,废弃使用
console.log(buf2.length)
```
![](https://img.kancloud.cn/20/8d/208d0fbaed27393e3299bddedadfdc78_689x200.png)
## 创建缓冲区大小,大小一旦确定不能修改,超出不会报错,也不会保存
```
var buf2 = Buffer.alloc(1000)
console.log(buf2.length)
```
![](https://img.kancloud.cn/ff/2f/ff2f8e7d9abd2fb8365d8ded0f96a9e8_378x206.png)