Maison > interface Web > js tutoriel > Comment puis-je convertir efficacement un ArrayBuffer en chaîne Base64 en JavaScript ?

Comment puis-je convertir efficacement un ArrayBuffer en chaîne Base64 en JavaScript ?

Patricia Arquette
Libérer: 2024-12-08 20:31:11
original
780 Les gens l'ont consulté

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

Implémentation native pour la conversion d'ArrayBuffer en Base64

La conversion d'un ArrayBuffer en chaîne codée en base64 est cruciale pour divers cas d'utilisation, tels que les parties multiples Requêtes POST. Pour y parvenir efficacement, les développeurs recherchent souvent des solutions natives.

SOLUTION

Voici une fonction native efficace pour convertir un ArrayBuffer en chaîne base64 :

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);
}
Copier après la connexion

Cette fonction crée une chaîne binaire à partir de l'ArrayBuffer et utilise la fonction native btoa pour générer le base64 string.

APPROCHES ALTERNATIVES

Bien que la solution ci-dessus soit native, les implémentations non natives peuvent offrir de meilleures performances. Une telle implémentation peut être trouvée ici : https://gist.github.com/958841.

REFÉRENCES DE PERFORMANCE

Pour une comparaison équitable, reportez-vous aux performances suivantes repères :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal