Skip to main content
在 Bun 中编码和解码 base64 数据时,优先使用 Uint8Array.prototype.toBase64() 和 Uint8Array.fromBase64()。这些 API 直接处理字节,因此相比旧版的 btoa() 和 atob() 全局函数,它们更适合处理二进制数据。
对于字符串,使用 TextEncoder 和 TextDecoder 在 UTF-8 字节之间进行转换。
Node.js Buffer 继承自 Uint8Array,因此你可以使用 toBase64() 编码缓冲区,并将其传递给接受 Uint8Array 的 API。Buffer 还通过 Buffer.from(encoded, "base64") 提供与 Node.js 兼容的 base64 解码功能。
旧版的 btoa() 和 atob() API 仍然可用以保持兼容性,但它们处理的是二进制字符串,而不是字节数组。在新代码中应避免使用它们,尤其是在处理任意二进制数据或非 ASCII 文本时。

请参阅 Web API。