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

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

Linda Hamilton
发布: 2024-12-02 10:03:12
原创
187 人浏览过

How to Efficiently Convert ArrayBuffers to Base64 Strings in JavaScript?

在原生 JavaScript 中将 ArrayBuffer 转换为 Base64 字符串

当前的任务是将 ArrayBuffer 高效地转换为 Base64 编码的字符串,即多部分 POST 请求的要求。

原生实现

下面的代码提供了一个本机解决方案:

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);
}
登录后复制

此实现在应用 Base64 编码之前将 ArrayBuffer 转换为二进制字符串。

非原生替代

虽然原生实现是可靠的,但非原生现有的方法可以提供改进的性能。可以在以下位置找到这样的实现:

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板