Image vers Base64 est une technique qui encode des données binaires d’image en chaîne de texte ASCII. Base64 utilise 64 caractères imprimables (A-Z, a-z, 0-9, +, /) pour représenter les données binaires, convertit chaque groupe de 3 octets en 4 caractères Base64 et ajoute = comme remplissage final. Le processus suit la norme RFC 4648.
**Principe d’encodage** : Base64 divise chaque groupe de 3 octets (24 bits) en quatre groupes de 6 bits, chacun correspondant à un caractère de l’alphabet Base64. Si le nombre d’octets n’est pas multiple de 3, 1 à 2 caractères = sont ajoutés. Cela explique l’augmentation d’environ 33 % de la taille (4/3 ≈ 1.33).
**Optimisation Web Worker** : cet outil utilise des Web Workers pour exécuter l’encodage dans un thread du navigateur séparé du thread principal. ArrayBuffer.transfer() permet un transfert zéro copie vers le Worker et évite les blocages. Même avec des images de plusieurs Mo, l’UI reste fluide avec une progression en temps réel.
**Confidentialité et sécurité** : contrairement aux outils qui exigent l’envoi d’images vers un serveur, cet outil fonctionne entièrement dans le navigateur. Les données d’image ne passent par aucun serveur tiers, ce qui est essentiel pour les images sensibles comme des pièces d’identité ou des contrats.
**Cas d’usage** : les images Base64 sont souvent utilisées pour les CSS Sprites (réduction des requêtes HTTP), les modèles d’e-mail HTML (éviter le blocage des images par les clients mail), la transmission API de données binaires et les extensions navigateur ou applications mono-fichier quand les ressources externes ne peuvent pas être référencées.