Guias de Base64

JavaScript e UTF-8

Navegadores oferecem btoa() e atob(), mas essas funções trabalham com strings semelhantes a bytes. Passar texto chinês ou emoji diretamente pode gerar erro ou corromper caracteres.

Usar bytes UTF-8

Converta texto com TextEncoder antes de codificar e com TextDecoder depois de decodificar. Isso preserva dados multilíngues de formulários e APIs.

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)));

Lidar com arquivos

Use FileReader para pequenas prévias ou processe blocos ArrayBuffer para arquivos maiores. Evite criar strings intermediárias enormes. Teste com o codificador online.