Guías de Base64

JavaScript y UTF-8

Los navegadores ofrecen btoa() y atob(), pero esas funciones trabajan con cadenas parecidas a bytes. Pasar texto chino o emoji directamente puede lanzar errores o corromper caracteres.

Usar bytes UTF-8

Convierte texto con TextEncoder antes de codificar y con TextDecoder después de decodificar. Así se conservan los datos multilingües.

const bytes=new TextEncoder().encode(text); const encoded=btoa(String.fromCodePoint(...bytes)); const decoded=new TextDecoder().decode(Uint8Array.from(atob(encoded),c=>c.charCodeAt(0)));

Manejar archivos

Usa FileReader para vistas previas pequeñas o procesa ArrayBuffer por partes para archivos grandes. Evita crear cadenas intermedias enormes. Prueba con el codificador online.