JavaScript对字符串处理十分友好,无论是宽字节还是单字节字符串,都被认为是一个字符串。Node中需要处理网络协议、操作数据库、处理图片、文件上传等,还需要处理大量二进制数据,自带的字符串远不能满足这些要求,因此Buffer应运而生。
指定buffer的大小
// buffer大小为100字节
// 一个英文字符 = 1个字节
// 一个中文字符(utf8) = 3个字节
// 一个中文字符(GBK) = 2个字符
var buf = new Buffer(100);
获取Buffer长度
buf.length
字符串转Buffer
// encodingm默认值为UTF-8
ner Budffer(str[,encoding])
Buffer转字符串
buf.toString([encoding],[start],[end]);
向缓冲区写数据
buf.write(str,[offset],[start],[end])
判断编码类型是否支持转换成Buffer
Buffer.isEncoding(encoding)
Buffer的拼接
Buffer.concat(list[totalLength])
判断Buffer对象
Buffer.isBuffer(obj)
Buffer对象的裁剪
buf.slice(start[,end])
Buffer对象的拷贝
buf.copy(targetBuffer[,targetStart][,sourceStart][,sourceEnd])