TS 第三方库或者官方库来模拟Buffer.from()
时间: 2023-08-21 07:07:41 浏览: 82
在浏览器环境下,可以使用 `typedarray-to-buffer` 或者 `base64-js` 库来模拟 Node.js 中的 `Buffer.from()` 方法。
- `typedarray-to-buffer`:用于将 TypedArray 转换成 Buffer 类型。
- `base64-js`:用于将 Base64 字符串转换成 Buffer 类型。
这两个库都可以通过 npm 安装,使用时需要先引入并初始化,示例代码如下:
```typescript
import * as typedarrayToBuffer from 'typedarray-to-buffer';
import * as base64js from 'base64-js';
// 初始化 typedarray-to-buffer 库
(window as any).Buffer = typedarrayToBuffer;
// 初始化 base64-js 库
(window as any).atob = base64js.atob;
(window as any).btoa = base64js.btoa;
// 使用 Buffer.from() 方法
const uint8Array = new Uint8Array([1, 2, 3, 4]);
const buffer1 = Buffer.from(uint8Array);
console.log(buffer1);
const base64String = 'AQIDBA==';
const buffer2 = Buffer.from(base64String, 'base64');
console.log(buffer2);
```
需要注意的是,在使用 `typedarray-to-buffer` 库时,需要将 `Buffer` 对象添加到全局对象 `window` 中,以便在 TypeScript 中可以使用该对象。在使用 `base64-js` 库时,需要将 `atob` 和 `btoa` 方法添加到全局对象中,以便在 TypeScript 中可以使用该方法。
阅读全文