javascript语言自身只有字符串数据类型,没有二进制数据类型;但是在处理像TCP流或者文件流的时候,必须使用二进制数据
Buffer类 用来创建一个专门存放二进制数据的缓存区
----Buffer和字符编码
Buffer实例一般用于表示编码字符的序列 通过使用显式的字符编码,就可以在Buffer实例与普通的javascript字符串之间进行相互转换
const buf = Buffer.from('hello', 'ascii');
buf.toString('hex');
buf.toString('base64');
nodejs目前支持的字符编码包括:ascii | utf8 | utf16le | ucs2 | base64 | latin1 | binary | hex十六进制
----创建Buffer类
--Buffer.alloc(size, fill, encoding) size为Buffer大小 fill为默认填值 encoding为指定编码 后2个参数选填
返回一个指定大小的Buffer实例,如果没有设置fill,则默认填满0
--Buffer.from(array)
返回一个被array的值初始化的新Buffer实例 传入的array的元素只能是数字,不然就会自动被0覆盖
--Buffer.from(arrayBuffer, byteOffset, length)
返回一个新建的与给定的ArrayBuffer共享同一内存的Buffer
--Buffer.from(buffer)
复制传入的Buffer实例的数据,并返回一个新的Buffer实例
--Buffer.from(string,encoding)