
buffer用于处理理二进制数据,在v8堆外分配物理理内存,buffer实例例类似0-255之间的整数数组,显示的数据为十六进制,大小是固定的,无法修改。
一. 创建buffer
Buffer.alloc(size[, fill[, encoding]]):
size 新 Buffer 的所需长度。
fill ||| 用于预填充新 Buffer 的值。默认值: 0 。
encoding 如果 fill 是一个字符串串,则这是它的字符编码。默认值: ‘utf8’

Buffer.allocUnsafe(size): size 新 Buffer 的所需长度。

Buffer.from(array): array 整数数组

Buffer.from(string[, encoding]): string 要编码的字符串串。 encoding string 的字符编码。默认值: ‘utf8

Buffer.byteLength: 返回字符串串的字节长度

Buffer.isBuffer(obj): 判断是否是buffer

Buffer.concat(list[, totalLength]): 合并buffer

buf.write(string[, offset[, length]][, encoding])将字符写入buffer,返回已经写⼊入的字节数
string 要写入 buf 的字符串串。
offset 从指定索引下写入。默认值: 0 。
length 要写入的字节数。默认值: buf.length - offset 。
encoding 字符串串的字符编码。默认值: ‘utf8’ 。

buf.fill(value[, offset[, end]][, encoding]) 填充buffer
value | | | ⽤用来填充 buf 的值。
offset 开始填充 buf 的索引。默认值: 0 。
end 结束填充 buf 的索引(不不包含)。默认值: buf.length 。
encoding 如果 value 是字符串串,则指定 value 的字符编码。默认值: ‘utf8’ 。

buf.length buffer的长度
buf.toString([encoding[, start[, end]]]) 将buffer解码成字符串形式
encoding 使用的字符编码。默认值: ‘utf8’ 。
start 开始解码的字节索引。默认值: 0
end 结束解码的字节索引(不不包含)。默认值: buf.length 。

buf.toJSON 返回 buffer 的 JSON 格式

buf.equals(otherBuffer) 对⽐比其它buffer是否具有完全相同的字节
otherBuffer 要对⽐比的buffer

buf.indexOf/lastIndexOf 查找指定的值对应的索引
buf.slice([start[, end]]) 切割buffer
start 新 Buffer 开始的位置。默认值: 0
end 新 Buffer 结束的位置(不不包含)。默认值: buf.length 。

buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]]) 拷⻉贝buffer
target | 要拷⻉贝进的 Buffer 或 Uint8Array 。
targetStart ⽬目标 buffer 中开始写⼊入之前要跳过的字节数。默认值: 0 。
sourceStart 来源 buffer 中开始拷⻉贝的索引。默认值: 0 。
sourceEnd 来源 buffer 中结束拷⻉贝的索引(不不包含)。默认值: buf.length 。

【end】


自学it的攻城狮(id:stydy458)