@craftzdog/react-native-buffer

中文文档
6.1.2发布于 2026/05/08MITTypeScriptCommonJS近 30 天下载 159.4万

节点.js 缓冲 API,用于反应原生

中文使用文档
文档目录17 节
  1. 特性
  2. 安装
  3. 使用量
  4. 怎么会这样?
  5. 转换软件包
  6. 将输入数组转换为缓冲
  7. 将缓冲转换为已键入数组
  8. 将 blob 转换为缓冲
  9. 将缓冲转换为 blob
  10. 将阵列缓冲器转换为缓冲器
  11. 将缓冲器转换为阵列缓冲器
  12. 业绩
  13. 测试项目
  14. JavaScript 标准样式
  15. 信贷
  16. 安全政策和程序
  17. 许可证

@cratzdog/ react-native-buffer (英语)

缓冲模块从 节点.js反应原生.

简单 require('@craftzdog/react-native-buffer') 或使用 Buffer 环球,你会得到这个模块. 它内部使用 反应-内生-快克-基质64,这是当地执行基础64的表演.

目标是提供100%的API与 节点缓冲 API。阅读 正式文件 为完整的财产清单, 实例方法和所支持的分类方法.

特性

  • 在所有浏览器中像老板一样操纵二进制数据!
  • 超级快。 由已键入的阵列备份( T)Uint8Array编号 :ArrayBuffer没有 Object(中文(简体) )
  • 极小的捆绑大小(6.75KB 变焦+克齐克, 51.9KB 有评论)
  • 极佳的浏览器支持(Chrome,Firefox,Edge,Safari 11+,iOS 11+,Android等)
  • 完全保留节点 API
  • 平方括号 buf[4] 标记有用!
  • 不修改任何浏览器原型或设置任何东西 window
  • 综合测试套件(包括节点.js核心的所有缓冲测试)

安装

npm install @craftzdog/react-native-buffer react-native-quick-base64
cd ios && pod install

使用量

模块的API与节点完全相同 Buffer API (英语). 读取 正式文件 为完整的财产清单, 实例方法和所支持的分类方法.

要明确依赖这个模块,就需要这样:

import { Buffer } from "@craftzdog/react-native-buffer";

怎么会这样?

缓冲构造器返回 Uint8Array 他们的原型 改为 Buffer.prototype此外, Buffer 是一个子类 Uint8Array, (中文(简体) ), 因此返回的示例将拥有所有节点 Buffer 方法与方法 Uint8Array 方法。 。 。 平方括号的标记工作如预期 -- -- 它返回 a (原始内容存档于2018-10-12). single octet.

这个 Uint8Array 原型机仍未被修改.

转换软件包

将输入数组转换为缓冲

使用 typedarray-to-buffer 将任意类型的数组转换为 Buffer. 不执行一个复制, 所以它的超级快.

将缓冲转换为已键入数组

Buffer 是一个子类 Uint8Array (这是一个被键入的数组). 因此,没有必要明确转换为打入的数组. 把缓冲器当作一个 Uint8Array。 。 。 .

将 blob 转换为缓冲

使用 blob-to-buffer 转换 a Blob 改为 Buffer。 。 。 .

将缓冲转换为 blob

转换 a Buffer 改为 Blob,使用 Blob 构造器 :

var blob = new Blob([buffer]);

可选地指定一个 MIME 类型 :

var blob = new Blob([buffer], { type: "text/html" });

将阵列缓冲器转换为缓冲器

要转换一个 ArrayBuffer 改为 Buffer,使用 Buffer.from 函数。 不做一个复制,所以它的超级快.

var buffer = Buffer.from(arrayBuffer);

将缓冲器转换为阵列缓冲器

转换 a Buffer 改为: ArrayBuffer,使用 .buffer 属性( 它存在于所有 Uint8Array 对象 :

var arrayBuffer = buffer.buffer.slice(
  buffer.byteOffset,
  buffer.byteOffset + buffer.byteLength
);

或者,使用 to-arraybuffer 模块.

业绩

4x比iPhone 11 Pro上的 Base64快,因为 反应-内生-快克-基质64。 。 。 .

测试项目

首先,安装工程:

npm install

然后,在Node.js进行测试,运行:

npm run test-node

要在浏览器中本地测试, 您可以运行 :

npm run test-browser-old-local # For ES5 browsers that don't support ES6
npm run test-browser-new-local # For ES6 compliant browsers

这将打印出一个URL, 然后在浏览器中打开, 运行测试, 使用 空气图。 。 。 .

要使用 Saucelabs 运行自动浏览器测试,请确保您 SAUCE_USERNAME 财务报告和审定财务报表 SAUCE_ACCESS_KEY 设置环境变量,然后运行:

npm test

这是在特拉维斯运行, 检查各种浏览器。 浏览器列表保存在 bin/airtap-es5.yml 财务报告和审定财务报表 bin/airtap-es6.yml 文档.

JavaScript 标准样式

此模块使用 JavaScript 标准样式。 。 。 .

JavaScript Style Guide

为了测试密码符合风格, npm install 运行 :

信贷

这原本是从 粪便/缓冲。 。 。 .

安全政策和程序

这个 buffer 团队和社区将所有安全错误带入 buffer 说真的 请看我们的 安保政策和程序 记录如何报告问题.

许可证

麻省理工学院. 版权(C) 松山拓也,以及其他贡献者. 最初从麻省理工学院的许可模块中取出 费罗什·阿布克哈迪耶赫 还有罗曼波克西.

版本与发布记录

@craftzdog/react-native-buffer 共发布 6 个版本,首次发布于 2021/02/09;过去 12 个月发布了 1 个版本。

版本发布日期距今
6.1.2latest2026/05/086 个月前
6.1.12025/10/031.1 年前
6.1.02025/05/271.5 年前
6.0.52022/07/224 年前
6.0.42022/01/214 年前
6.0.32021/02/095 年前

关于 @craftzdog/react-native-buffer 的常见问题

@craftzdog/react-native-buffer 是什么?

节点.js 缓冲 API,用于反应原生

如何安装 @craftzdog/react-native-buffer?

在项目目录运行 npm install @craftzdog/react-native-buffer,或使用 pnpm add / yarn add / bun add。

@craftzdog/react-native-buffer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@craftzdog/react-native-buffer 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@craftzdog/react-native-buffer 可以商用吗?

@craftzdog/react-native-buffer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@craftzdog/react-native-buffer 的下载量有多少?

根据 npm 官方下载统计,@craftzdog/react-native-buffer 在 2026/10/11 – 2026/11/09 这 30 天内被下载 1,593,882 次,日均约 53,129 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@craftzdog/react-native-buffer 还在维护吗?

最新版本 6.1.2 发布于 2026/05/08(6 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 1 个;首次发布于 2021/02/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。