Imagem para Base64

5 de 2 avaliações
.gif, .png, .jpg, .jpeg, .svg permitido. 64 MB no máximo.

O Imagem para Base64 é uma ferramenta gratuita que converte um ficheiro de imagem numa cadeia de texto codificada em Base64.

O que é Base64 e para que serve?

Na imagem carregada, Base64 aplica uma codificação de dados binários para texto, permitindo que os dados atravessem sistemas concebidos sobretudo para texto. Cada grupo de três bytes dos dados de origem é representado por quatro caracteres imprimíveis de um alfabeto definido.

Isto é útil quando um formato não permite incluir um ficheiro binário separado. Uma imagem pode ser inserida num URL de dados, numa propriedade JSON ou numa parte MIME de uma mensagem de email, sem anexar os bytes originais na sua forma binária habitual. A cadeia Base64 gerada está codificada, não encriptada. Qualquer pessoa que a obtenha pode descodificá-la, pelo que não oferece confidencialidade nem controlo de acesso.

Um exemplo muito pequeno, com bytes de texto, mostra como funciona.

  • O texto de entrada é <svg></svg>
  • O resultado em Base64 é PHN2Zz48L3N2Zz4=

A maioria das imagens contém bytes binários, e não código legível, pelo que a entrada não terá o aspeto deste exemplo de texto. O princípio é o mesmo para PNG, JPEG, GIF, WebP e outros formatos de imagem.

Como converto uma imagem para Base64?

Fornece a imagem como entrada da ferramenta, executa a conversão e copia o valor apresentado no campo Codificado em Base64. A ferramenta aplica a função base64_encode do PHP aos dados da imagem.

  1. Seleciona a imagem que pretendes representar como texto.
  2. Aguarda enquanto a página processa o ficheiro e devolve o valor codificado.
  3. Copia a cadeia completa, incluindo eventuais sinais de igual no final.
  4. Acrescenta a sintaxe envolvente adequada, caso o destino espere um URL de dados, um valor JSON ou outro contentor.

O processamento é feito no servidor. A imagem é enviada para o servidor através de HTTPS e não é armazenada. Como o processamento ocorre no servidor, não pressuponhas que o ficheiro permanece no teu dispositivo durante a conversão.

Como devo usar a cadeia Base64 obtida?

Usa a cadeia como Base64 em bruto ou insere-a na sintaxe exigida pelo sistema de destino. O Base64, por si só, não identifica o formato, o nome do ficheiro, as dimensões nem a utilização prevista da imagem.

Num URL de dados para HTML ou CSS, o valor codificado costuma surgir depois de um tipo de multimédia e do marcador Base64. Um URL de dados PNG começa com data:image/png;base64,, seguido imediatamente pela cadeia. Para JPEG, usa-se image/jpeg, enquanto para SVG é comum usar image/svg+xml. A escolha do tipo de multimédia errado pode impedir que o software apresente uma imagem que, de outro modo, seria válida.

Em JSON, o Base64 é normalmente guardado como uma cadeia entre aspas, muitas vezes acompanhado por um campo separado que identifica o tipo de multimédia. Não acrescentes um prefixo de URL de dados quando uma API pedir especificamente Base64 em bruto. Consulta a documentação da API antes de usares o valor devolvido pela ferramenta, porque estes dois tipos de entrada não são equivalentes.

Onde é usado Base64 em sistemas reais?

É comum encontrares Base64 quando dados binários têm de ser transmitidos através de um formato ou protocolo baseado em texto. Os casos mais habituais incluem:

  • URLs de dados incorporados em HTML, CSS ou documentos gerados.
  • Conteúdos JSON enviados para APIs que aceitam imagens dentro de uma propriedade de texto.
  • Mensagens de email, nas quais MIME pode codificar anexos e imagens incorporadas como Base64.
  • Parâmetros de consulta, embora os caracteres Base64 padrão também possam precisar de codificação de URL.
  • Ficheiros de configuração e documentos XML que não conseguem conter diretamente bytes binários arbitrários.

Os nomes de domínio internacionalizados são outro exemplo de conversão de dados para um conjunto restrito de caracteres, mas usam Punycode em vez de Base64. Para valores inseridos num URL, também pode ser necessário um Codificador de URL, porque o Base64 padrão pode conter sinais de mais, barras e sinais de igual.

Porque falha a descodificação de Base64 ou aparecem caracteres sem sentido?

A descodificação pode falhar porque a entrada inclui um prefixo copiado, está danificada ou incompleta, ou não corresponde ao formato Base64 esperado pelo descodificador. O aparecimento de caracteres sem sentido costuma indicar que foram descodificados dados binários válidos de uma imagem e depois apresentados incorretamente como texto normal.

  • Um prefixo copiado: pode causar uma falha quando o descodificador espera apenas Base64. Remove texto como data:image/png;base64, antes de usares um descodificador de Base64 em bruto.
  • Entrada danificada ou incompleta: pode ser descodificada como uma imagem parcial que os visualizadores não conseguem abrir.
  • Codificação dupla: produz outra cadeia Base64 após a primeira descodificação. Pode ser necessária uma segunda descodificação se a origem tiver codificado um valor que já estava codificado.
  • Alfabeto errado: pode causar um erro se o descodificador esperar uma variante diferente. Base64url usa hífenes e sublinhados onde o Base64 padrão usa sinais de mais e barras.
  • Preenchimento em falta: pode afetar descodificadores mais rigorosos. O Base64 padrão pode terminar com um ou dois sinais de igual, embora alguns sistemas os omitam deliberadamente.

Se o resultado descodificado for binário, guarda-o com o tipo de imagem correto em vez de o abrires num editor de texto. O Decodificador Base64 ou a ferramenta Base64 para Imagem podem ajudar a realizar a operação inversa, desde que a cadeia esteja completa e use o formato esperado.

Escolha do formato e entradas problemáticas

O Base64 padrão é adequado para email, URLs de dados e sistemas que o peçam explicitamente. Em caminhos de URL, parâmetros de consulta e tokens, usa a variante exigida pelo sistema de destino. Base64url pode ser a opção indicada quando a respetiva especificação assim o determinar. Esta ferramenta utiliza a operação base64_encode padrão do PHP, por isso não pressuponhas que o resultado está em Base64url.

Esta ferramenta codifica os bytes da imagem carregada. Espaços, pontuação, números, caracteres acentuados e texto não latino presentes num SVG ou nos metadados de uma imagem são codificados como parte desses bytes. Um nome de ficheiro que contenha esses caracteres está separado do conteúdo do ficheiro e não é, por natureza, representado em Base64.

Em PHP, base64_encode devolve um valor vazio para uma sequência de zero bytes. Ficheiros extensos produzem cadeias longas, e o Base64 acrescenta aproximadamente um terço à contagem de bytes original, antes de qualquer sintaxe envolvente de JSON ou URL de dados. Não comprime a imagem, não melhora a sua qualidade nem altera as suas dimensões em píxeis.

Perguntas frequentes

Posso inserir uma imagem Base64 diretamente no CSS?

Sim. As propriedades CSS que aceitam URLs de imagens podem usar um URL de dados corretamente formado. Esta opção funciona bem para recursos pequenos e autónomos, mas imagens incorporadas de maior dimensão aumentam o tamanho da folha de estilos e não podem ser guardadas em cache separadamente do ficheiro CSS.

Porque é que a minha cadeia Base64 contém quebras de linha?

Esta ferramenta devolve um valor contínuo, porque a função base64_encode do PHP não insere quebras de linha. Se existirem quebras, foram introduzidas posteriormente durante uma cópia ou outro processamento. Muitos descodificadores ignoram espaços em branco, mas as APIs mais rigorosas podem rejeitá-los. Usa uma cadeia contínua quando a especificação do sistema de destino assim o exigir.

Alterar o nome do ficheiro de imagem muda o respetivo valor Base64?

O Base64 representa os bytes do ficheiro, não o respetivo nome. Por isso, mudar o nome de um ficheiro sem alterar o conteúdo não modifica a codificação. No entanto, editar os metadados, voltar a guardar a imagem ou converter o formato altera os bytes e produz uma cadeia diferente.

O Base64 protege uma imagem privada?

Não. O Base64 pode ser revertido sem palavra-passe nem chave secreta. Para material confidencial, usa encriptação, autenticação e controlos de acesso adequados. Lembra-te também de que esta ferramenta envia a imagem para o respetivo servidor através de HTTPS para a processar.

Como posso confirmar que a conversão funcionou?

Descodifica a cadeia completa e abre o resultado num visualizador de imagens compatível com o formato original. Confirma se as dimensões e o conteúdo visível correspondem à imagem de origem. Mantém os caracteres de preenchimento no final, a menos que o sistema de destino exija explicitamente a sua remoção.

Ferramentas Similares

Base64 para Imagem

Converta a entrada Base64 em uma imagem com nossa ferramenta de Base64 para imagem para recuperação rápida e fácil de imagens.

4,444
19

Ferramentas Populares