Heim >Web-Frontend >js-Tutorial >Wie konvertiert man ArrayBuffers effizient in Base64-Strings in JavaScript?

Wie konvertiert man ArrayBuffers effizient in Base64-Strings in JavaScript?

Linda Hamilton
Linda HamiltonOriginal
2024-12-02 10:03:12268Durchsuche

How to Efficiently Convert ArrayBuffers to Base64 Strings in JavaScript?

ArrayBuffer in Base64-Strings in nativem JavaScript konvertieren

Die vorliegende Aufgabe besteht darin, einen ArrayBuffer effizient in einen Base64-codierten String umzuwandeln, a Voraussetzung für mehrteilige POST-Anfragen.

Nativ Implementierung

Der folgende Code bietet eine native Lösung:

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);
}

Diese Implementierung konvertiert den ArrayBuffer in eine binäre Zeichenfolge, bevor die Base64-Codierung angewendet wird.

Nicht-native Alternative

Obwohl die native Implementierung zuverlässig ist, gibt es nicht-native Ansätze, die eine verbesserte Leistung bieten. Eine solche Implementierung finden Sie unter:

https://gist.github.com/958841

Leistungsbenchmarks zeigen, dass nicht-native Methoden schneller sein können. Siehe:

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

Aktualisierte Benchmarks:

https://jsben.ch/wnaZC

Das obige ist der detaillierte Inhalt vonWie konvertiert man ArrayBuffers effizient in Base64-Strings in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn