1、使用node.js需要使用到IO数据操作,而作为以JavaScript底层库的编写的js库只用字符串数据类型,没有二进制数据类型,只能使用Bbuffer来创建实例。
//有数据就涉及到编码
const buf = Buffer.from('pengcq', 'utf8');
// 输出 70656e676371
console.log(buf.toString('hex'));
// 输出 cGVuZ2Nx
// buf.toString([encoding[, start[, end]]])
console.log(buf.toString('base64'));
// 创建一个长度为 10、且用 0 填充的 Buffer。
const list = Buffer.alloc(26);
//设置数据空间长度
//Buffer.alloc(size[, fill[, encoding]]) Buffer.allocUnsafe(size) Buffer.allocUnsafeSlow(size)
//
//Buffer.from(array) Buffer.from(arrayBuffer[, byteOffset[, length]]) Buffer.from(buffer) Buffer.from(string[, encoding])
var count = list.write('hello');
console.log("长度是:"+count);
//buf.readInt8(offset[, noAssert])
//buf.write(string[, offset[, length]][, encoding])
for (var i = 0; i < list.length; i++) {
list[i] = i + 97;
}
console.log("长度list是:"+list.toString('utf8'));
buf2 = Buffer.from([1,2,3,4,5], 'utf8');
// json
console.log("json:"+buf2.toJSON());
//Buffer.concat(list[, totalLength])
//buf.compare(otherBuffer);
//buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
//buf.slice([start[, end]]) 裁剪缓冲区