Base64 codifica bytes, no caracteres abstractos. Una herramienta de texto debe definir cómo llegan los caracteres a bytes. Base64Lens usa UTF-8 de WHATWG para que latín, cirílico, acentos y emoji tengan una secuencia explícita. Rechaza sustitutos UTF-16 aislados antes de su reemplazo y usa decodificación UTF-8 fatal para no ocultar corrupción.
UTF-8 crea la evidencia de bytes
El texto Hello, мир 🌍 contiene ASCII, cirílico y un emoji. Sus bytes UTF-8 son 48 65 6C 6C 6F 2C 20 D0 BC D0 B8 D1 80 20 F0 9F 8C 8D. Codificar esos 18 bytes produce SGVsbG8sINC80LjRgCDwn4yN. No necesita iguales porque 18 es divisible por tres. Es un hecho del número de bytes, no de caracteres visibles.
La decodificación fatal evita reemplazos
Una cadena Base64 puede ser válida y contener bytes que no forman UTF-8. Por ejemplo, /w== representa correctamente el byte FF, pero FF no inicia una secuencia UTF-8. Base64Lens informa INVALID_UTF8 y borra el resultado anterior. No muestra U+FFFD, adivina una codificación antigua ni trata el byte como archivo.
Comprueba la secuencia exacta
Una comprobación fiable compara la secuencia exacta, incluidos espacios, finales de línea, marcas combinadas y normalización. Base64Lens no recorta, cambia saltos ni normaliza Unicode. Dos cadenas visualmente parecidas pueden producir bytes y Base64 distintos. Esa diferencia es evidencia, no error. Confirma el límite de texto del sistema receptor antes de copiar.