Codificar imagem para Base64 em Python

Converter imagem em string codificada em Base64. SVG, JPG, JPEG, PNG, BMP, GIF, TIFF, ICO, IFIF, WEBP e outros formatos de imagem são suportados.

Codificação Base64

Base64 é um esquema de codificação que converte dados binários em texto ASCII, frequentemente usado para transferência de dados pela Internet. Quando uma imagem é convertida para Base64, o resultado é uma sequência de letras latinas, números e dois caracteres – “+” e “/”. Os navegadores podem interpretar esses dados codificados sem problemas. Em outras palavras, Base64 é uma codificação binária para texto que pode ser incorporada em vários formatos, como JSON, XML, URIs de dados ou CSS.

Base64 é amplamente utilizado para incorporar imagens ou outros recursos binários diretamente em arquivos HTML ou CSS. Isto elimina a necessidade de solicitações adicionais da web, uma vez que a imagem já está incluída no documento HTML. Entretanto, Base64 é mais adequado para imagens pequenas; imagens grandes codificadas em Base64 podem sobrecarregar o HTML, levando a um desempenho mais lento. Também deve ser observado que o Google nunca indexará uma imagem Base64 porque ela não aparece nas pesquisas de imagens.


Converter imagem em Base64 online

Codifique imagens com a API Aspose.SVG for .NET em tempo real! Carregue uma imagem do sistema de arquivos local e você obterá imediatamente o resultado como um URI de dados, fonte de imagem Base64 e fonte de fundo CSS Base64. JPG, JPEG, SVG, PJP, PJPEG, PNG, BMP, XBM, GIF, TIFF, ICO, IFIF, WEBP e outros formatos de imagem são suportados.



Converter imagem em Base64 em Python

Este artigo considera como codificar um arquivo de imagem em uma string Base64 usando Aspose.SVG for Python via .NET. O exemplo Python a seguir demonstra como converter uma imagem SVG em uma string Base64 e incorporá-la em um arquivo SVG.

Código Python para converter imagem SVG em Base64

import base64
from aspose.svg import SVGDocument


document_path = "image.svg"

# Open an SVG image
with open(document_path, "rb") as file:
    bytes_data = file.read()

# Initialize an SVGDocument object
document = SVGDocument()

# Create an image element
img_element = document.create_element_ns("http://www.w3.org/2000/svg", "image")

# Convert SVG image to Base64 and set the href attribute
encoded_image = f"data:image/svg+xml;charset=utf-8;base64,{base64.b64encode(bytes_data).decode('utf-8')}"
img_element.set_attribute("href", encoded_image)

# Add the image element to the SVG document
document.document_element.append_child(img_element)

# Save the SVG document
document.save("image-base64.svg")

O fragmento do arquivo image-base64.svg resultante é mostrado abaixo. A string Base64 foi cortada para não sobrecarregar o exemplo de código SVG. O formato para incorporar imagem Base64 como dados URI é o seguinte, para ser mais específico:

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

Código SVG para incorporar imagem Base64

<svg xmlns="http://www.w3.org/2000/svg">
	<image href="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image"/>
</svg>



Incorporar uma imagem Base64 em HTML

Por que converter uma imagem para Base64? Imagens codificadas em Base64 podem ser incorporadas diretamente em HTML usando a tag <img> inserindo os dados da imagem como um URI de dados. Este método reduz o número de solicitações HTTP que um navegador precisa para carregar uma página da web, melhorando o desempenho. O trecho de código a seguir mostra como incorporar imagens Base64 em HTML.

Código HTML para incorporar imagem Base64 como URI de dados

<body>
    <div>
        <img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image">
    </div>
</body>

O URI de dados consiste em duas partes separadas por vírgula. A primeira parte especifica o cabeçalho do esquema URI de dados para a imagem codificada em Base64, e a segunda parte define a própria string da imagem codificada em Base64:

  1. data:image/svg+xml;base64, é o cabeçalho do esquema URI de dados.
  2. PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ... são os dados Base64 codificados.



Incorporar uma imagem Base64 no código CSS

Outra forma de reduzir o número de solicitações HTTP para imagens é usar a propriedade CSS background-image. Esta propriedade define imagens como plano de fundo de um elemento e você pode especificar cada imagem como uma URL ou como um URI de dados de imagem. Com uma URL, o navegador envia uma solicitação HTTP para obter a imagem externa, mas com uma imagem Base64 incorporada como URI de dados, a imagem é incluída diretamente no documento. Isso significa que o navegador não precisa fazer nenhuma solicitação HTTP adicional, o que acelera o tempo de carregamento da página.

Código CSS para incorporar imagem Base64 como URI de dados

body {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...");
}



Incorporar uma imagem Base64 em XML

A codificação de imagens em Base64 para incorporação em XML simplifica a integração e aumenta a portabilidade, permitindo que as imagens sejam incluídas diretamente nesse formato, reduzindo a necessidade de referências de arquivos externos.

Código XML com imagem SVG Base64 incorporada

<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...</image>
</root>



Incorporar uma imagem Base64 em JSON

Converter uma imagem em Base64 e salvá-la como JSON é útil para incorporar em páginas da web ou aplicativos sem solicitações HTTP extras.

Código JSON com imagem Base64 incorporada

{
  "image": {
    "mime": "image/png",
    "data": "PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..."
  }
}

Codificadores Base64 on-line

Online Codificadores Base64 convertem o conteúdo de documentos SVG ou arquivos de imagem em sua representação de string equivalente que é codificada com caracteres ASCII. Eles também fornecem exemplos de URI de dados, JSON, XML e outros. As ferramentas de codificação ajudam a evitar vários problemas de codificação de dados que tornam o conteúdo do site ou as mensagens de e-mail ilegíveis. Os codificadores Base64 são seguros, fáceis de usar e totalmente gratuitos. Eles funcionam em qualquer navegador e em qualquer sistema operacional. Converta imagem em Base64 gratuitamente agora mesmo!

Introdução à API Python

Se você deseja desenvolver gráficos vetoriais escaláveis ​​e seus aplicativos, instale nosso Aspose.SVG for Python via .NET API flexível e de alta velocidade. pip é a maneira mais fácil de baixar e instalar Aspose.SVG for Python via .NET API. Para fazer isso, execute o seguinte comando:

pip install aspose-svg-net

Para obter mais detalhes sobre a instalação da biblioteca Python e os requisitos do sistema, consulte Documentação Aspose.SVG.

Outros codificadores suportados

Você pode codificar imagem para Base64 – os formatos JPG, PNG, BMP, GIF, TIFF, ICO e SVG são suportados:

  • PNG to Base64
  • JPG to Base64
  • PNG to XML
  • JPG to XML