+ por -, / por _ e elimina o preenchimento = (RFC 4648 §5).Como funciona
O Base64 representa dados usando 64 caracteres ASCII imprimíveis. Cada 3 bytes de entrada se convertem em 4 caracteres, por isso o resultado ocupa cerca de 33% a mais que o original.
Não é criptografia nem compressão: é uma codificação reversível que qualquer um pode decodificar. Serve para transportar dados binários por canais pensados só para texto.
A variante URL-safe (RFC 4648 §5) usa - e _ em vez de + e /, e omite o preenchimento =, para poder incluir o resultado em URLs e nomes de arquivo sem escapá-lo.
Exemplos
Hello WorldSGVsbG8gV29ybGQ=CaféQ2Fmw6k=Em UTF-8 os caracteres não ASCII ocupam mais de um byte, por isso "é" adiciona dois bytes.>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwA variante URL-safe substitui + e / por - e _, e remove o preenchimento =.Casos de uso
- Incorporar imagens, fontes ou ícones diretamente em HTML/CSS por meio de data URIs.
- Enviar anexos por e-mail (MIME) ou dados binários dentro de um JSON.
- Guardar chaves, certificados ou tokens em variáveis de ambiente e arquivos de configuração.
- Codificar credenciais para o cabeçalho Authorization: Basic do HTTP.
Perguntas frequentes
O Base64 é um método de criptografia?
Não. É uma codificação reversível sem chave: qualquer um pode decodificá-la. Não acrescenta nenhuma segurança; para proteger dados é preciso criptografá-los.
Por que o resultado termina em "="?
O "=" é preenchimento (padding) para completar blocos de 4 caracteres quando a entrada não é múltiplo de 3 bytes. A variante URL-safe o omite.
Quando a variante URL-safe é preferível?
Quando o valor vai em uma URL, um nome de arquivo ou um identificador, porque os caracteres + e / têm significado especial nesses contextos.
Por que o texto codificado é mais longo que o original?
Porque usa 4 caracteres a cada 3 bytes de entrada, então o tamanho cresce cerca de 33%.
Meu texto é enviado a um servidor?
Não. A codificação e a decodificação ocorrem inteiramente no seu navegador.