Converta SVG para XML com codificação Base64
XML é um formato baseado em texto e, embora seja excelente para estruturar dados, não lida muito bem com dados binários (como imagens). SVG é um formato baseado em XML, portanto pode parecer desnecessário codificá-lo em Base64 e salvá-lo como XML. No entanto, o SVG pode conter caracteres especiais e outros conteúdos não textuais. Portanto, a codificação de SVG em Base64 evita possíveis problemas com a incorporação de SVG em XML e a integridade da estrutura XML geral. Isso garante que os dados da imagem permaneçam seguros e não sejam confusos quando você os move ou armazena.
Como converter SVG para XML em Python
Para converter SVG em XML, usamos a API Aspose.SVG for Python via .NET , que é uma API de manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma Python. Consideramos o exemplo de codificação SVG para Base64 e incorporação de string Base64 em documento XML:
Código Python para converter SVG em XML
import base64
import os
from aspose.svg import *
from xml.etree.ElementTree import *
# Create a function to convert SVG to XML with Base64-encoded SVG data
def convert_svg_to_xml(svg_path, xml_path):
# Load an SVG document
document = SVGDocument(svg_path)
# Temporary file path to save the SVG content
temp_svg_path = "temp_output.svg"
try:
# Save the SVG content to a temporary file
document.save(temp_svg_path)
# Read the content from the temporary file
with open(temp_svg_path, "r", encoding="utf-8") as svg_file:
svg_content = svg_file.read()
# Encode the SVG content in Base64
encoded_svg = base64.b64encode(svg_content.encode("utf-8")).decode("utf-8")
# Create XML structure
root = Element("root")
image = SubElement(root, "image", mime="image/svg+xml")
image.text = encoded_svg
# Write the XML to the file
tree = ElementTree(root)
tree.write(xml_path, encoding="utf-8", xml_declaration=True)
finally:
# Clean up the temporary file
if os.path.exists(temp_svg_path):
os.remove(temp_svg_path)
# Example usage
input_svg = "image.svg"
output_xml = "image-base64.xml"
convert_svg_to_xml(input_svg, output_xml)
Etapas para converter SVG em XML em Python
- Use a classe SVGDocument para carregar o conteúdo SVG do caminho de arquivo especificado.
- Salve o documento SVG carregado em um arquivo temporário. Esta etapa facilita a leitura do conteúdo SVG como uma string para codificação.
- Abra o arquivo SVG temporário e leia seu conteúdo em uma string. Converta esta string em codificação Base64 para prepará-la para incorporação em XML.
- Crie um objeto XML que inclua o tipo MIME e os dados SVG codificados em Base64. Estruture o XML conforme necessário, com campos apropriados para os dados da imagem.
- Salve o objeto XML construído no caminho de arquivo especificado. Este arquivo XML agora conterá os dados SVG codificados em Base64.
- Remova o arquivo SVG temporário para garantir que nenhum arquivo desnecessário seja deixado no sistema.
O objeto XML normalmente inclui o tipo MIME de uma imagem e dados codificados, assim:
Código XML com imagem SVG Base64 incorporada
<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">base64_string...</image>
</root>
Codificadores Base64 on-line
Aspose.SVG oferece aplicativos online gratuitos para codificar e decodificar dados binários:
- Codificadores Base64 são um conjunto de ferramentas que permitem codificar dados binários em vários formatos de saída: Plain Base64, JSON, XML, URI ou CSS.
- Image Base64 Decoder converte um URI de dados contendo uma string Base64 em uma imagem colando uma string URI no controle de entrada.
Nossos aplicativos baseados em navegador funcionam em todas as plataformas, incluindo Windows, Linux, Mac OS, Android e iOS. Nenhum registro, plug-in ou instalação de software é necessário para você. Comece a usar nossas ferramentas on-line de codificação/decodificação Base64 de maneira segura, segura e fácil!
FAQ
Aspose.SVG permite converter SVG em XML de qualquer forma – online ou programaticamente. Por exemplo, pode codificar SVG em tempo real utilizando o Codificador SVG que converte os seus ficheiros de forma rápida e elevada. Faça o upload, codifique SVG e obtenha o resultado em poucos segundos! Por outro lado, pode utilizar a API Aspose.SVG para Python via .NET para converter SVG em XML programaticamente.
Historicamente, muitos formatos de transferência e armazenamento de dados, como HTML, XML e e-mail, dependem de texto em vez de código binário. Quando os dados binários, por exemplo, em ficheiros SVG necessitam de ser incorporados nestes formatos baseados em texto, a codificação Base64 torna-se necessária. A codificação de ficheiros SVG em Base64 permite que estes sejam incorporados de forma segura em esquemas XML, JSON, CSS e URI sem modificação durante o transporte. Esta abordagem simplifica a integração, melhora a portabilidade e melhora os tempos de carregamento, reduzindo os pedidos HTTP.
A codificação Base64 é um método para converter dados binários para um formato de texto utilizando um conjunto de 64 caracteres ASCII que são seguros para utilização em formatos baseados em texto, como HTML, XML ou e-mail. Esta codificação garante que os dados binários, como imagens ou ficheiros, podem ser incorporados, transmitidos ou armazenados em sistemas que apenas lidam com texto sem corrupção de dados.
Não, a codificação Base64 não afeta a qualidade da imagem SVG. A codificação Base64 é uma forma de representar dados binários como texto, preservando a qualidade original do ficheiro SVG. O processo de codificação converte simplesmente o ficheiro SVG para um formato de texto adequado para incorporação em vários formatos de texto, como JSON, XML ou CSS.
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 Base64 suportados
Você pode converter SVG em string Base64 e salvá-lo como JSON, XML e CSS: