将 ArrayBuffer 转换为 Base64 的本机实现
将 ArrayBuffer 转换为 Base64 编码的字符串对于各种用例(例如多部分)至关重要POST 请求。为了有效地实现这一点,开发人员经常寻求本机解决方案。
解决方案
这里有一个高效的本机函数,用于将 ArrayBuffer 转换为 Base64 字符串:
function _arrayBufferToBase64(buffer) { var binary = ''; var bytes = new Uint8Array(buffer); var len = bytes.byteLength; for (var i = 0; i < len; i++) { binary += String.fromCharCode(bytes[i]); } return window.btoa(binary); }
该函数从 ArrayBuffer 创建一个二进制字符串,并使用原生 btoa 函数生成 base64 string.
替代方法
虽然上述解决方案是本机解决方案,但非本机实现可能会提供更好的性能。可以在这里找到这样的实现:https://gist.github.com/958841。
性能基准
为了公平比较,请参考以下性能基准测试:
以上是如何在 JavaScript 中高效地将 ArrayBuffer 转换为 Base64 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!