Base64 em JavaScript: btoa() e atob()
Entenda como usar as funções nativas `btoa` e `atob` no navegador e `Buffer` no Node.js.
Introdução
No JavaScript moderno, temos diferenças entre Browser e Node.js para manipulação de Base64.
O Algoritmo
No browser, usamos `btoa` (binary to ASCII) e `atob` (ASCII to binary). No backend, usamos Buffers.
Implementação em Javascript
base64-encoder.jsjavascript
// --- No Navegador ---
const text = "Olá Mundo";
const encoded = btoa(unescape(encodeURIComponent(text))); // Suporte a UTF-8
console.log(encoded);
const decoded = decodeURIComponent(escape(atob(encoded)));
console.log(decoded);
// --- No Node.js ---
const buffer = Buffer.from("Olá Mundo", "utf-8");
const base64Node = buffer.toString("base64");
console.log(base64Node);
const fromBase64 = Buffer.from(base64Node, "base64").toString("utf-8");
console.log(fromBase64);Aviso: `btoa` direto falha com caracteres UTF-8 (acentos). O truque `encodeURIComponent` resolve isso no navegador.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar BASE64-ENCODER instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de BASE64-ENCODER Online