这个错误提示表明你传递给 `btoa()` 方法的参数类型不正确,应该是 ArrayBuffer 或 ArrayBufferView 类型的实例,而不是字符串。
如果你要将字符串编码为 Base64 字符串,可以先将字符串转换为二进制数据(比如 Uint8Array),然后再进行编码。示例代码:
```javascript
const str = 'Hello, World!';
const encoder = new TextEncoder();
const data = encoder.encode(str);
const base64Str = btoa(String.fromCharCode(...new Uint8Array(data)));
console.log(base64Str); // 输出:SGVsbG8sIFdvcmxkIQ==
```
这里使用了 TextEncoder API 将字符串转换为二进制数据,然后使用 btoa() 方法将二进制数据编码为 Base64 字符串。
如果你已经有一个 ArrayBuffer 或 ArrayBufferView 类型的实例,可以直接将其传递给 btoa() 方法进行编码。示例代码:
```javascript
const bytes