Heim > Web-Frontend > js-Tutorial > Wie kann ich einen ArrayBuffer in JavaScript effizient in einen Base64-String konvertieren?

Wie kann ich einen ArrayBuffer in JavaScript effizient in einen Base64-String konvertieren?

Patricia Arquette
Freigeben: 2024-12-08 20:31:11
Original
781 Leute haben es durchsucht

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

Native Implementierung zum Konvertieren von ArrayBuffer in Base64

Das Konvertieren eines ArrayBuffer in eine Base64-codierte Zeichenfolge ist für verschiedene Anwendungsfälle, wie z. B. Multipart, von entscheidender Bedeutung POST-Anfragen. Um dies effizient zu erreichen, suchen Entwickler häufig nach nativen Lösungen.

LÖSUNG

Hier ist eine effiziente native Funktion zum Konvertieren eines ArrayBuffer in einen Base64-String:

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);
}
Nach dem Login kopieren

Diese Funktion erstellt eine Binärzeichenfolge aus dem ArrayBuffer und verwendet die native BTOA-Funktion, um Base64 zu generieren string.

ALTERNATIVE ANSÄTZE

Während die obige Lösung nativ ist, bieten nicht-native Implementierungen möglicherweise eine bessere Leistung. Eine solche Implementierung finden Sie hier: https://gist.github.com/958841.

LEISTUNGSBENCHMARKS

Für einen fairen Vergleich beziehen Sie sich auf die folgende Leistung Benchmarks:

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

Das obige ist der detaillierte Inhalt vonWie kann ich einen ArrayBuffer in JavaScript effizient in einen Base64-String konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage