Base64 encode des octets, pas des caractères abstraits. Un outil texte doit définir leur conversion en octets. Base64Lens utilise l’UTF-8 WHATWG afin que latin, cyrillique, accents et emoji aient une séquence explicite. Il refuse les substituts UTF-16 isolés avant remplacement et emploie un décodage UTF-8 fatal pour ne pas masquer une corruption.
UTF-8 crée la preuve en octets
Le texte Hello, мир 🌍 contient ASCII, cyrillique et un emoji. Ses octets UTF-8 sont 48 65 6C 6C 6F 2C 20 D0 BC D0 B8 D1 80 20 F0 9F 8C 8D. Encoder ces 18 octets produit SGVsbG8sINC80LjRgCDwn4yN. Aucun signe égal n’est requis car 18 est divisible par trois. C’est une propriété du nombre d’octets, pas des caractères visibles.
Le décodage fatal évite les remplacements
Une chaîne Base64 peut être valide tout en représentant des octets non UTF-8. Par exemple, /w== représente correctement l’octet FF, mais FF ne peut pas commencer une séquence UTF-8. Base64Lens signale INVALID_UTF8 et efface l’ancien résultat. Il n’affiche pas U+FFFD, ne devine pas un ancien encodage et ne traite pas l’octet comme fichier.
Vérifiez la séquence exacte
Une vérification fiable compare la séquence exacte, y compris espaces, fins de ligne, marques combinées et normalisation. Base64Lens ne rogne pas, ne change pas les sauts de ligne et ne normalise pas Unicode. Deux chaînes visuellement proches peuvent produire des octets et Base64 différents. Cette différence est une preuve, pas une erreur. Confirmez la frontière texte du système destinataire avant copie.