学node的一点小笔记(三) buffer缓冲区

//buffer用来创建一个专门存放二进制数据的缓存区
//因为js语言自身只有字符串数据类型,没有二进制数据类型
//v6.0之前:new buffer() 后:Buffer.from()
//第一个参数是普通字符串
const buff = Buffer. from( 'A');

//输出hex编码的字符串
//console.log(buff.toString('hex'));

//返回一个指定大小的buffer实例
const buff1 = Buffer. alloc( 10);
// 创建一个长度为 10、且用 0x1 填充的 Buffer。
const buf2 = Buffer. alloc( 10, 1);

// 创建一个长度为 10、且未初始化的 Buffer。
// 这个方法比调用 Buffer.alloc() 更快,
// 但返回的 Buffer 实例可能包含旧数据,
// 因此需要使用 fill() 或 write() 重写。
const buf3 = Buffer. allocUnsafe( 10);

// 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer。
const buf4 = Buffer. from([ 1, 2, 3]);

// 创建一个包含 UTF-8 字节 [0x74, 0xc3, 0xa9, 0x73, 0x74] 的 Buffer。
const buf5 = Buffer. from( 'tést');

// 创建一个包含 Latin-1 字节 [0x74, 0xe9, 0x73, 0x74] 的 Buffer。
const buf6 = Buffer. from( 'tést', 'latin1');

//写入缓冲区 参数:字符串,开始处索引,长度,编码
console. log( buff1. write( "www.runoob.com"))
//buff1只有10的空间 只能写入10个字节

//读取数据 参数:编码,开始位置,结束位置
//console.log(buff1.toString());

//转换为json
//console.log(buff1.toJSON());

//缓冲区合并
var buff3 = Buffer. concat([ buff, buff1])
//console.log(buff3.toString())

//缓冲区比较 result<0:buff在buff1前,=0相同,>0在后
var result = buff. compare( buff1);
//console.log(result)

//拷贝缓冲区 参数:拷贝对象,开始位置,结束位置,拷贝长度
buff1. copy( buff)

//剪切缓冲区 参数:开始位置,结束位置
var buff2 = buff1. slice( 0, 2)

//缓冲区长度:buff.length

猜你喜欢

转载自blog.csdn.net/qq_37628661/article/details/79643572
今日推荐