首页 > web前端 > js教程 > 如何在 JavaScript 中高效地将 ArrayBuffer 转换为 Base64 字符串?

如何在 JavaScript 中高效地将 ArrayBuffer 转换为 Base64 字符串?

Patricia Arquette
发布: 2024-12-08 20:31:11
原创
781 人浏览过

How Can I Efficiently Convert an ArrayBuffer to a Base64 String in JavaScript?

将 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。

性能基准

为了公平比较,请参考以下性能基准测试:

  • http://jsperf.com/encoding-xhr-image-data/6
  • https://jsben.ch/wnaZC

以上是如何在 JavaScript 中高效地将 ArrayBuffer 转换为 Base64 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板