Buffernodejs需要处理网络协议、操作数据库、处理图片、接收上传文件等,在网络流和文件的操作中,必须处理大量的二进制数据Buffer是用来存储二进制数据的,Buffer和String的区别在于字符串是只读的,对字符串的任何修改都会产生一个新的字符串,而原来的字符串会保持不变;Buffer会修改原始数据方法一、创建Buffer的方法Buffer.from(array);//返回一个由数组Buffer.alloc(size,fill,encoding)的值初始化的新Buffer实例;//返回一个指定大小的Buffer实例,如果没有设置fill,则默认填充。02.写入缓冲区buf.write(string,offset,length,encoding)string-要写入缓冲区的字符串。offset-缓冲区开始写入的索引,默认为0length-要写入的字节数,默认为buffer.lengthencoding-要使用的编码。默认为'utf8'3.从缓冲区读取数据buf.toString(encoding,start,end)encoding-要使用的编码。默认为'utf8'start-指定开始读取的索引位置,默认为0end-结束位置,默认为缓冲区的末尾。4.其他方法buf.toJSON()将Buffer转换为JSON对象buf.compare(otherBuffer);缓冲区比较应用场景1.I/O操作将一个文件的内容以流的形式读取到另一个文件constfs=require('fs');constinputStream=fs.createReadStream('input.txt');//创建可读流constoutputStream=fs.createWriteStream('output.txt');//创建一个可写流inputStream.pipe(outputStream);//流水线读写2.加解密在一些加解密算法中,Buffer3.zlib.jszlib.js是Node.js的核心库之一,它使用缓冲区(Buffer)函数来操作二进制数据流,提供压缩或解压函数
