Maison  >  Article  >  interface Web  >  Comment convertir des chaînes Base64 en ArrayBuffers en JavaScript natif ?

Comment convertir des chaînes Base64 en ArrayBuffers en JavaScript natif ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-24 03:47:21457parcourir

How to Convert Base64 Strings to ArrayBuffers in Native JavaScript?

Conversion de chaînes Base64 en ArrayBuffers avec JavaScript natif

Dans divers scénarios, tels que l'utilisation de données provenant d'e-mails ou d'autres sources fournies par l'utilisateur, il devient nécessaire de convertir une chaîne codée en base64 en un ArrayBuffer. JavaScript offre un moyen simple d'effectuer cette conversion sans avoir besoin de communication avec un serveur externe.

Méthode de conversion native utilisant atob et Uint8Array

La fonction suivante convertit efficacement une chaîne base64 à un ArrayBuffer :

function base64ToArrayBuffer(base64) {
    // Decode the base64 string into a binary string
    var binaryString = atob(base64);

    // Create a new Uint8Array with the length of the binary string
    var bytes = new Uint8Array(binaryString.length);

    // Iterate through each character of the binary string and convert it to a byte
    for (var i = 0; i < binaryString.length; i++) {
        bytes[i] = binaryString.charCodeAt(i);
    }

    // Return the ArrayBuffer containing the converted bytes
    return bytes.buffer;
}

Dans cette fonction :

  • Le La méthode atob() décode la chaîne base64 en une chaîne binaire.
  • Un Uint8Array est créé pour contenir les données binaires.
  • Chaque caractère de la chaîne binaire est converti en son octet correspondant à l'aide de charCodeAt( ).
  • La propriété buffer du Uint8Array renvoie le ArrayBuffer.

En utilisant cette méthode de conversion native, vous pouvez facilement transformer les entrées utilisateur codées en base64 en ArrayBuffers pour un traitement ultérieur.

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!

Déclaration:
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