Socket
Socket
Sign inDemoInstall

@bytedo/buffer

Package Overview
Dependencies
Maintainers
2
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bytedo/buffer

Buffer浏览器版本,提供常用的API封装


Version published
Weekly downloads
2
Maintainers
2
Weekly downloads
 
Created
Source

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 对象, 可以直接用于创建文件对象, 如下

let file = new File([Buffer.from('这是一段文本')], 'demo.txt', {
  type: 'text/plain'
})

console.log(file)

但是由于浏览器端暂不支持非异步的方法将Blob/File对象转成ArrayBuffer, 所以暂时不支持从Blob/File中创建Buffer对象.

Keywords

FAQs

Package last updated on 30 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc