Base64 est un schéma d'encodage binaire-texte basé sur 64 caractères ASCII imprimables, défini pour la première fois par la RFC 2045 (norme MIME). Base64 convertit chaque 3 octets (24 bits) en 4 caractères Base64 (A-Z, a-z, 0-9, +, /), permettant aux données binaires d'être transmises en toute sécurité via des systèmes ne prenant en charge que le texte, comme les en-têtes HTTP, les charges utiles JSON, les documents XML ou les paramètres de requête URL.
**Base64 n'est pas du chiffrement**, il ne fournit qu'une conversion de format de données, n'importe qui peut facilement le décoder. Si vous devez protéger des données sensibles, utilisez un véritable schéma de chiffrement comme AES. Les utilisations typiques de Base64 incluent : HTTP Basic Authentication (`Authorization: Basic dXNlcjpwYXNz`), les segments en-tête et payload des tokens JWT (format Base64URL), Data URI (`data:image/png;base64,...`), l'encodage MIME des pièces jointes, etc.
**URL-Safe Base64** (RFC 4648 §5) remplace les +/ du Base64 standard par -_ et omet généralement le padding =. Cela permet au résultat encodé d'apparaître en toute sécurité dans les URL, les chemins de fichiers ou les champs JSON. Les tokens JWT, le code_verifier de OAuth PKCE et AWS Signature V4 utilisent tous l'encodage URL-Safe Base64.
**Le retour à la ligne MIME** est une norme RFC 2045 qui spécifie que chaque ligne ne doit pas dépasser 76 caractères. Lorsque le contenu Base64 est utilisé dans des courriers électroniques ou certains scénarios nécessitant un affichage avec sauts de ligne, la variante MIME insère automatiquement des caractères de saut de ligne (`\n`) toutes les 76 caractères. C'est le format standard pour la transmission des pièces jointes aux courriers électroniques.
L'outil utilise l'**API native btoa/atob** du navigateur, associée à une logique de traitement sécurisée pour UTF-8, garantissant que les caractères multioctets comme le chinois, le japonais et les emoji sont correctement encodés. Tous les calculs sont effectués localement, les données ne sont envoyées à aucun serveur. Ouvrez le panneau réseau des outils de développement du navigateur pour vérifier qu'il n'y a aucune requête externe pendant tout le processus.