Pular para o conteúdo
Favoritos

Codificador Base64

Atualizado:

Introduza texto para convertê-lo numa string Base64. O codificador funciona com ASCII e outros caracteres de um byte; caracteres como emojis podem causar um erro de codificação.

Ferramenta de Codificação de Texto em Base64

Campos de entrada
Se ativado, o resultado é atualizado automaticamente quando você altera qualquer valor.

Fórmula do Codificador Base64

Fórmula
\[ L=4\left\lceil\frac{n}{3}\right\rceil \]

Onde:

  • \(n\) — o número de bytes de entrada.
  • \(L\) — o número de caracteres na saída Base64, incluindo qualquer preenchimento (padding).

O Base64 divide a entrada em grupos de três bytes e representa cada grupo com quatro caracteres. Se o último grupo tiver menos de três bytes, a saída usa um ou dois caracteres = como preenchimento.

Codificador Base64 – Exemplo de Cálculo

Exemplo: introduza o texto predefinido da calculadora, Hello world!. Os seus 12 caracteres suportados são codificados como 12 bytes, formando quatro grupos completos de três bytes.

\[ \operatorname{Base64}(\text{Hello world!})=\text{SGVsbG8gd29ybGQh} \]

\[ L=4\left\lceil\frac{12}{3}\right\rceil=16 \]

Resultado: SGVsbG8gd29ybGQh, uma string Base64 de 16 caracteres sem preenchimento.

Como usar o Codificador Base64

  1. Introduza ou cole a sua entrada em Texto a Codificar. Pode deixar Hello world! no lugar para verificar o exemplo acima.
  2. Leia a string codificada em Saída Base64.
  3. Use a opção de copiar da saída se precisar de colar a string noutra aplicação. Mantenha quaisquer caracteres = finais: eles fazem parte do valor codificado.

Se Saída Base64 mostrar “Falha na codificação”, o texto contém um carácter que este codificador não consegue processar diretamente. Consulte a limitação de caracteres abaixo antes de usar o resultado numa aplicação.

O que faz a codificação Base64

O Base64 é uma forma de representar bytes usando um conjunto restrito de caracteres imprimíveis: letras maiúsculas e minúsculas, dígitos, + e /. É útil quando um formato ou sistema precisa de texto em vez de bytes brutos. O resultado também pode terminar em = ou ==, dependendo do comprimento da entrada.

A string codificada não é um significado diferente para o seu texto; é outra representação dos bytes de entrada. Alguém pode recuperar esses bytes com um Decodificador Base64. O Base64, portanto, não fornece nem encriptação nem sigilo. Evite tratar uma palavra-passe, token ou outro valor sensível codificado como protegido apenas porque é difícil de ler à primeira vista.

A saída Base64 é geralmente mais longa do que a sua entrada: cada três bytes tornam-se quatro caracteres, um aumento de cerca de um terço antes de qualquer formatação adicional. Para uma entrada curta, o preenchimento pode tornar o aumento proporcional maior. A fórmula acima dá o comprimento da saída para uma entrada de \(n\) bytes; ela não indica quais serão os caracteres codificados. Esses caracteres dependem dos valores reais dos bytes.

Suporte de caracteres e limitações práticas

Esta calculadora usa a função btoa() do navegador. Ela aceita texto cujos códigos de caracteres individuais cabem num byte, de 0 a 255. Letras inglesas comuns, números, espaços e pontuação funcionam. Muitos outros caracteres, incluindo emojis e a maioria dos alfabetos não latinos, causam “Falha na codificação”. Esta página não converte primeiro o texto para UTF-8.

Essa distinção também importa para caracteres acentuados. Um carácter como é pode ser aceito aqui como um único byte, mas a sua saída não é a codificação Base64 dos bytes UTF-8 do carácter. Se um sistema de destino esperar UTF-8, use um codificador que converta explicitamente o texto para UTF-8 antes de aplicar Base64.

Apesar do uso comum do Base64 para ficheiros, esta calculadora tem um campo de texto, não um carregamento de ficheiros. Colar o conteúdo visível de uma imagem ou de outro ficheiro binário não codificará esse ficheiro de forma fiável. Use uma ferramenta compatível com ficheiros quando precisar de Base64 para um ficheiro.

O Base64 também serve um propósito diferente da codificação de URL. Se precisar de escapar caracteres para colocação num URL, use um Codificador de URL. O Base64 padrão pode ele próprio conter +, / e =, que podem exigir tratamento especial num URL. Para inspecionar valores de caracteres em vez de codificar toda a entrada como Base64, experimente o Conversor ASCII.

Perguntas frequentes

Como posso codificar texto em Base64 manualmente?

Converta cada byte de entrada em oito dígitos binários e, em seguida, divida os bits combinados em grupos de seis. Leia cada grupo de seis bits como um número de 0 a 63 e procure-o no alfabeto Base64 padrão. Por exemplo, os bytes de “Man” produzem os valores de seis bits 19, 22, 5 e 46, que correspondem a “TWFu”. Para um grupo final incompleto, acrescente bits zero antes de procurar o seu último carácter.

Porque é que outro codificador Base64 dá um resultado diferente para é?

Os dois codificadores podem começar com bytes diferentes. Esta calculadora trata é como um byte com o valor 233, produzindo “6Q==”. Um codificador UTF-8 representa primeiro é como dois bytes, 195 e 169, produzindo “w6k=”. Nenhum dos resultados está errado em si, mas o descodificador deve usar a mesma codificação de caracteres do codificador para recuperar o texto pretendido.

O que acontece se eu codificar uma string vazia?

Uma entrada vazia é codificada numa string Base64 vazia, não num sinal de igual nem num marcador especial. Não há bytes para converter nem um grupo final que precise de preenchimento. Isso pode importar ao enviar dados para uma API: um valor codificado vazio pode ser válido, mas a aplicação de destino pode tratar um campo omitido de forma diferente de um campo contendo uma string vazia.

O Base64 é o mesmo que Base64URL?

Não. O Base64URL substitui o “+” e o “/” do alfabeto padrão por “-” e “_”; ele também costuma omitir o preenchimento final. Essas mudanças facilitam a colocação de dados codificados em componentes de URL e formatos como JWTs. Esta calculadora produz Base64 padrão, por isso verifique se o serviço de destino pede especificamente Base64URL antes de copiar a sua saída.

Posso remover os sinais de iguais finais de uma string Base64?

Apenas se o formato de destino permitir explicitamente Base64 sem preenchimento. Alguns descodificadores conseguem inferir o preenchimento em falta a partir do comprimento da string, enquanto outros o exigem. Remover “=” não altera os dados originais, mas pode tornar a string inválida para um descodificador estrito. Mantenha o preenchimento ao copiar o resultado desta calculadora, a menos que o destino especifique o contrário.

As maiúsculas ou os espaços em branco importam no Base64?

As maiúsculas importam: letras maiúsculas e minúsculas representam valores diferentes, por isso mudar a caixa de uma letra pode alterar os bytes descodificados. Os espaços em branco são diferentes. Alguns descodificadores ignoram quebras de linha inseridas em strings Base64 longas, enquanto descodificadores estritos as rejeitam. Para o resultado de copiar e colar mais fiável, preserve todos os caracteres exatamente e evite acrescentar espaços ou quebras de linha.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *