Heim >Web-Frontend >js-Tutorial >Wie konvertiert man ArrayBuffers effizient in 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!