buffer/README.md

2.1 KiB

Buffer

浏览器版的Buffer对象模拟, 提供近似Node.js的BUffer对象的API。

@bytedo/buffer

文档

以下方法的encoding, 如无特殊说明, 均只支持utf8(默认),base64, hex, binary4种。

静态方法

Buffer.from(data, offsetOrEncoding, end)

Node.js版基本一致, 支持从数组/字符串等值中创建Buffer对象。

Buffer.alloc(len, str, encoding)

Node.js版基本一致, 创建指定字节长度的Buffer, 同时填充内容。

Buffer.concat(list, totalLength)

Node.js版基本一致, 合并多个Buffer对象, 可指定总字节长度。

Buffer.isBuffer(target)

Node.js版基本一致, 判断指定值是否为Buffer对象。

Buffer.compare(buf1, buf2)

Node.js版基本一致, 比较2个Buffer对象, 通常用于排序中, 返回-1/0/1

Buffer.byteLength(data, encoding)

Node.js版基本一致, 返回给定内容的字节长度, 内容可以是任意类型。

实例方法

.toString(encoding, start, end)

Node.js版基本一致, 将Buffer对象转为字符串。 其中encoding支持utf8(默认),base64, hex, binary4种。

.fill(val, start, end, encoding)

Node.js版基本一致, 向Buffer对象中填充内容, 可填充到指定位置。

.copy(target, targetStart, sourceStart, sourceEnd)

向目标对象中复制当前对象, 注意, 该方法改变的不是自身, 是传入的对象, 这个行为与Node.js版一致。

.write(val, offset, len, encoding)

Node.js版基本一致, 指定位置写入数据, 可以是任意类型。

.compare(buf)

与静态方法的功能一样, 只是这里比较的对象是自身, 返回-1/0/1

.equals(buf)

Node.js版基本一致, 判断与给定的对象是否一致, 返回true/false

.includes(data, offset, encoding)

Node.js版基本一致, 判断给定内容是否包含在内, 可从指定位置开始判断, 返回true/false

浏览器版的Buffer对象模拟, 提供近似Node.js的BUffer对象的API
JavaScript 100%