ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で ArrayBuffers を Base64 文字列に効率的に変換するにはどうすればよいですか?

JavaScript で ArrayBuffers を Base64 文字列に効率的に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 10:03:12188ブラウズ

How to Efficiently Convert ArrayBuffers to Base64 Strings in JavaScript?

ネイティブ JavaScript で ArrayBuffers を 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);
}

この実装は、適用する前に ArrayBuffer をバイナリ文字列に変換します。 Base64 エンコーディング。

非ネイティブ代替

ネイティブ実装は信頼性がありますが、パフォーマンスを向上させる非ネイティブなアプローチも存在します。このような実装の 1 つは、

https://gist.github.com/958841

パフォーマンス ベンチマークにより、非ネイティブ メソッドの方が高速になる可能性があることが示されています。参照先:

http://jsperf.com/encoding-xhr-image-data/6

更新されたベンチマーク:

https://jsben.ch/wnaZC

以上がJavaScript で ArrayBuffers を Base64 文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。