CoderTools

Encodeur/Décodeur Base64

Encodez et décodez rapidement des chaînes Base64, prenant en charge la conversion de texte et de fichiers

Jeu de caractères

Qu'est-ce que Base64 ?

Base64 est un schéma d'encodage qui représente les données binaires en utilisant 64 caractères ASCII imprimables. Ces caractères incluent les lettres majuscules et minuscules, les chiffres et quelques symboles spéciaux. Base64 est largement utilisé dans les scénarios où les données binaires doivent être transmises via des canaux de texte uniquement, tels que les pièces jointes d'e-mails et les paramètres d'URL. Le schéma d'encodage Base64 a été initialement défini dans RFC 4648 et la spécification MIME (RFC 2045).

Principe de l'algorithme d'encodage Base64 :

Le processus d'encodage Base64 peut être divisé en étapes suivantes :

  1. Diviser les données d'entrée en groupes de 3 octets chacun
  2. Réorganiser ces 3 octets (24 bits) en 4 groupes de 6 bits chacun
  3. Mapper chaque valeur de 6 bits (plage 0-63) comme un index vers le jeu de caractères Base64
  4. Si le dernier groupe a moins de 3 octets, remplir avec des bits 0 et ajouter le nombre correspondant de signes égal (=) comme rembourrage à la fin du résultat

Jeu de caractères Base64 : A-Z, a-z, 0-9, +, /

Caractère de rembourrage : =

Exemple de conversion :

Code ASCII pour le texte "Man" : 77 97 110
Représentation binaire : 01001101 01100001 01101110
Regroupé en 6 bits : 010011 010110 000101 101110
Valeurs décimales : 19 22 5 46
Résultat Base64 : T W F u

Implémentation JavaScript simplifiée :

// Base64 encoding implementation example (simplified)
function base64Encode(str) {
    // Base64 character set
    const base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    let result = '';
    let i = 0;

    // Process every 3 characters as a group
    while (i < str.length) {
        const char1 = str.charCodeAt(i++);
        const char2 = i < str.length ? str.charCodeAt(i++) : 0;
        const char3 = i < str.length ? str.charCodeAt(i++) : 0;
        
        // Convert 3 8-bit bytes into 4 6-bit indices
        const triplet = (char1 << 16) + (char2 << 8) + char3;
        
        // Extract 4 6-bit values from the triplet
        const index1 = (triplet >> 18) & 0x3F;
        const index2 = (triplet >> 12) & 0x3F;
        const index3 = (triplet >> 6) & 0x3F;
        const index4 = triplet & 0x3F;
        
        // Add padding based on the original data length
        if (i - 3 > str.length) {
            result += base64chars[index1] + base64chars[index2] + '==';
        } else if (i - 2 > str.length) {
            result += base64chars[index1] + base64chars[index2] + base64chars[index3] + '=';
        } else {
            result += base64chars[index1] + base64chars[index2] + base64chars[index3] + base64chars[index4];
        }
    }
  
    return result;
}

Utilisations communes :

Fonctionnalités Avancées

Support du Format Hexadécimal

Notre outil prend en charge l'entrée et la sortie au format hexadécimal, utiles pour les développeurs travaillant avec des données binaires dans le code de programme.

  • Entrée : Accepte le format hexadécimal comme 0x11,0x22,0x33 ou simple 112233
  • Sortie : Convertir le Base64 décodé en format hexadécimal pour l'intégration de code

Support des Jeux de Caractères

Différents jeux de caractères encodent le texte différemment en octets. Notre outil prend en charge plusieurs jeux de caractères pour gérer divers encodages de texte :

  • UTF-8: Encodage universel supportant tous les caractères Unicode (par défaut)
  • ASCII: Encodage 7 bits supportant les caractères anglais de base (0-127)
  • Latin-1 (ISO-8859-1): Encodage 8 bits supportant les caractères d'Europe occidentale (ISO-8859-1)
  • UTF-16: Encodage 16 bits couramment utilisé par Windows et Java (Little Endian)

Notes Importantes :

Comparaison de Base64 avec d'autres Encodages :

Type d'Encodage Caractéristiques Utilisations Principales
Base64 Utilise 64 caractères ASCII pour représenter les données binaires Pièces jointes d'e-mails, transmission de données binaires dans le texte
Encodage URL Convertit les caractères spéciaux au format %XX Passage de paramètres URL, soumission de formulaires
Encodage Hexadécimal Chaque octet est représenté par deux caractères hexadécimaux Représentation de valeur de hachage, visualisation de données binaires

Pour plus d'informations officielles sur Base64, veuillez vous référer aux ressources suivantes : RFC 4648 (Standard Base64) | Wikipedia : Base64 | RFC 2045 (Spécification MIME)