O que e codificacao Base64?
Um metodo para codificar dados binarios como texto ASCII usando 64 caracteres.
Codificar e decodificar Base64
Um metodo para codificar dados binarios como texto ASCII usando 64 caracteres.
Para transmitir dados binarios com seguranca em formatos de texto como email, JSON e HTML.
Sim, aproximadamente 33% maior que o original.
Base64 e o metodo que converte qualquer dado binario numa string de caracteres ASCII. E usado para anexos de e-mail, para embutir imagens diretamente em CSS ou HTML, para tokens de autenticacao de API e em muitas outras situacoes onde e preciso transmitir dados binarios por um canal que so aceita texto.
Sim, e esse e o custo: a saida codificada fica cerca de 33 % maior que o original. O motivo e simples: 3 bytes de dados sao representados por 4 caracteres ASCII. E um compromisso que vale ter em mente, especialmente com arquivos grandes.
Base64 pega 3 bytes (24 bits) de dados binarios e os divide em quatro grupos de 6 bits. Cada grupo e mapeado para um dos 64 caracteres possiveis: A-Z, a-z, 0-9, + e /. Se o tamanho dos dados nao for multiplo de 3, caracteres de preenchimento (=) sao adicionados no final. O resultado: qualquer dado binario pode ser representado como texto ASCII imprimivel, pronto para transitar por e-mail, JSON ou qualquer formato de texto.
Sistemas de e-mail (MIME) usam Base64 para transmitir anexos como texto. Na web, imagens pequenas sao embutidas diretamente em CSS ou HTML via data URIs codificadas em Base64 -- assim voce economiza uma requisicao HTTP. A autenticacao de API usa Base64 com frequencia em cabecalhos Basic Auth para codificar credenciais. E e indispensavel sempre que voce precisa incluir dados binarios em formatos de texto como JSON ou XML.
Base64 adiciona 33 % de overhead, mas e seguro e universalmente suportado. Base32 tem overhead maior (60 %), mas nao diferencia maiusculas de minusculas, o que pode ser util em certos contextos. A codificacao hexadecimal dobra o tamanho de cara (100 % de overhead), mas e a preferida para depuracao. Base64 URL-safe substitui + e / por - e _ para evitar problemas em URLs. Resumindo, escolha a codificacao que melhor se encaixa no seu caso de uso.