# @craftzdog/react-native-buffer 中文文档

规范地址：https://npmcn.com/package/%40craftzdog/react-native-buffer/

版本：6\.1\.2
npm 元数据更新时间：2026-05-08T13:05:09.469Z
中文译文更新时间：2026-11-10T23:02:46.781Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40craftzdog/react-native-buffer
原文对照：https://npmcn.com/package/%40craftzdog/react-native-buffer/?lang=original
项目主页：https://github.com/craftzdog/react-native-buffer
源码仓库：https://github.com/craftzdog/react-native-buffer

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：83.7 kB，7 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2021-02-09T02:52:22.937Z
- 最新版本发布：2026-05-08T13:05:09.365Z
- 近 30 天下载量：1593882（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 1 个）

## 中文简介

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

## 安装

```sh
npm install @craftzdog/react-native-buffer
```

也可以使用：`pnpm add @craftzdog/react-native-buffer`、`yarn add @craftzdog/react-native-buffer`、`bun add @craftzdog/react-native-buffer`

## README

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

#### 缓冲模块从 [节点.js](https://nodejs.org/)反应原生.

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

目标是提供100%的API与 [节点缓冲 API](https://nodejs.org/api/buffer.html)。阅读 [正式文件](https://nodejs.org/api/buffer.html) 为完整的财产清单, 实例方法和所支持的分类方法.

## 特性

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

## 安装

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

## 使用量

模块的API与节点完全相同 `Buffer` API (英语). 读取 [正式文件](https://nodejs.org/api/buffer.html) 为完整的财产清单, 实例方法和所支持的分类方法.

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

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

## 怎么会这样?

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

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

## 转换软件包

### 将输入数组转换为缓冲

使用 [`typedarray-to-buffer`](https://www.npmjs.com/package/typedarray-to-buffer) 将任意类型的数组转换为 `Buffer`. 不执行一个复制, 所以它的超级快.

### 将缓冲转换为已键入数组

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

### 将 blob 转换为缓冲

使用 [`blob-to-buffer`](https://www.npmjs.com/package/blob-to-buffer) 转换 a `Blob` 改为 `Buffer`。 。 。 .

### 将缓冲转换为 blob

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

```js
var blob = new Blob([buffer]);
```

可选地指定一个 MIME 类型 :

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

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

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

```js
var buffer = Buffer.from(arrayBuffer);
```

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

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

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

或者,使用 [`to-arraybuffer`](https://www.npmjs.com/package/to-arraybuffer) 模块.

## 业绩

4x比iPhone 11 Pro上的 Base64快,因为 [反应-内生-快克-基质64](https://github.com/craftzdog/react-native-quick-base64)。 。 。 .

## 测试项目

首先,安装工程:

```
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, 然后在浏览器中打开, 运行测试, 使用 [空气图](https://www.npmjs.com/package/airtap)。 。 。 .

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

```
npm test
```

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

## JavaScript 标准样式

此模块使用 [JavaScript 标准样式](https://github.com/feross/standard)。 。 。 .

[![JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

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

## 信贷

这原本是从 [粪便/缓冲](https://github.com/feross/buffer)。 。 。 .

## 安全政策和程序

这个 `buffer` 团队和社区将所有安全错误带入 `buffer` 说真的 请看我们的 [安保政策和程序](https://github.com/feross/security) 记录如何报告问题.

## 许可证

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

## 常见问题

### @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 和提交记录判断。

