Konvertieren Sie SVG in XML mit Base64-Kodierung
XML ist ein textbasiertes Format und eignet sich zwar hervorragend zum Strukturieren von Daten, verarbeitet Binärdaten (wie Bilder) jedoch nicht besonders gut. SVG ist ein XML-basiertes Format, daher erscheint es möglicherweise unnötig, es in Base64 zu kodieren und als XML zu speichern. Allerdings kann SVG Sonderzeichen und andere Nicht-Text-Inhalte enthalten. Daher vermeidet die Codierung von SVG in Base64 potenzielle Probleme bei der Einbettung von SVG in XML und die Integrität der gesamten XML-Struktur. Dadurch wird sichergestellt, dass die Bilddaten sicher bleiben und nicht beschädigt werden, wenn Sie sie verschieben oder speichern.
So konvertieren Sie SVG in XML in Python
Um SVG in XML zu konvertieren, verwenden wir die API Aspose.SVG for Python via .NET , eine funktionsreiche, leistungsstarke und benutzerfreundliche API zur Dokumentbearbeitung für die Python-Plattform. Wir betrachten das Beispiel der SVG-zu-Base64-Kodierung und Einbettung einer Base64-Zeichenfolge in ein XML-Dokument:
Python-Code zum Konvertieren von SVG in 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)
Schritte zum Konvertieren von SVG in XML in Python
- Verwenden Sie die Klasse SVGDocument , um den SVG-Inhalt aus dem angegebenen Dateipfad zu laden.
- Speichern Sie das geladene SVG-Dokument in einer temporären Datei. Dieser Schritt erleichtert das Lesen des SVG-Inhalts als Zeichenfolge zur Codierung.
- Öffnen Sie die temporäre SVG-Datei und lesen Sie deren Inhalt in eine Zeichenfolge ein. Konvertieren Sie diese Zeichenfolge in Base64-Codierung, um sie für die Einbettung in XML vorzubereiten.
- Erstellen Sie ein XML-Objekt, das den MIME-Typ und die Base64-codierten SVG-Daten enthält. Strukturieren Sie das XML nach Bedarf mit entsprechenden Feldern für die Bilddaten.
- Speichern Sie das erstellte XML-Objekt im angegebenen Dateipfad. Diese XML-Datei enthält nun die Base64-codierten SVG-Daten.
- Entfernen Sie die temporäre SVG-Datei, um sicherzustellen, dass keine unnötigen Dateien auf dem System verbleiben.
Das XML-Objekt enthält normalerweise den MIME-Typ eines Bildes und codierte Daten, etwa so:
XML-Code mit eingebettetem Base64-SVG-Bild
<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">base64_string...</image>
</root>
Online-Base64-Encoder
Aspose.SVG bietet kostenlose Online-Anwendungen zum Kodieren und Dekodieren von Binärdaten:
- Base64-Encoder sind eine Reihe von Tools, mit denen Sie Binärdaten in verschiedenen Ausgabeformaten codieren können: Plain Base64, JSON, XML, URI oder CSS.
- Image Base64 Decoder konvertiert einen Daten-URI, der eine Base64-Zeichenfolge enthält, in ein Bild, indem eine URI-Zeichenfolge in das Eingabesteuerelement eingefügt wird.
Unsere browserbasierten Anwendungen funktionieren auf allen Plattformen, einschließlich Windows, Linux, Mac OS, Android und iOS. Für Sie ist keine Registrierung, Plugin- oder Softwareinstallation erforderlich. Beginnen Sie mit der sicheren, sicheren und einfachen Nutzung unserer Online-Base64-Codierungs-/Decodierungstools!
FAQ
Mit Aspose.SVG können Sie SVG auf beliebige Weise in XML konvertieren – online oder programmgesteuert. Sie können beispielsweise SVG in Echtzeit mit dem Online- SVG Encoder kodieren, der Ihre Dateien schnell und in hoher Qualität konvertiert. Laden Sie SVG hoch, kodieren Sie es und erhalten Sie das Ergebnis in wenigen Sekunden! Andererseits können Sie Aspose.SVG for Python via .NET-API verwenden, um SVG programmgesteuert in XML zu konvertieren.
Historisch gesehen basieren viele Datenübertragungs- und Speicherformate wie HTML, XML und E-Mail auf Text statt auf Binärcode. Wenn Binärdaten, beispielsweise in SVG-Dateien, in diese textbasierten Formate eingebettet werden müssen, wird Base64-Kodierung erforderlich. Durch die Kodierung von SVG-Dateien in Base64 können sie sicher in XML-, JSON-, CSS- und URI-Schemata eingebettet werden, ohne dass sie während des Transports geändert werden müssen. Dieser Ansatz vereinfacht die Integration, verbessert die Portabilität und verbessert die Ladezeiten durch Reduzierung der HTTP-Anfragen.
Base64-Kodierung ist eine Methode zum Konvertieren von Binärdaten in ein Textformat mithilfe eines Satzes von 64 ASCII-Zeichen, die sicher für die Verwendung in textbasierten Formaten wie HTML, XML oder E-Mail sind. Diese Kodierung stellt sicher, dass binäre Daten wie Bilder oder Dateien eingebettet, übertragen oder in Systemen gespeichert werden können, die nur Text verarbeiten, ohne dass Daten beschädigt werden. Base64 wird häufig zum Einbetten von Bildern in Webseiten, zum Senden von Dateien per E-Mail und zum Speichern von Daten in textbasierten Formaten verwendet.
Nein, die Base64-Kodierung beeinträchtigt die Qualität des SVG-Bildes nicht. Die Base64-Kodierung ist eine Möglichkeit, binäre Daten als Text darzustellen und dabei die ursprüngliche Qualität der SVG-Datei beizubehalten. Der Kodierungsprozess konvertiert die SVG-Datei einfach in ein Textformat, das zum Einbetten in verschiedene Textformate wie JSON, XML oder CSS geeignet ist.
Beginnen Sie mit der Python-API
Wenn Sie skalierbare Vektorgrafiken und deren Anwendungen entwickeln möchten, installieren Sie unser flexibles, schnelles Aspose.SVG for Python via .NET API. pip
ist der einfachste Weg, Aspose.SVG for Python via .NET API herunterzuladen und zu installieren. Führen Sie dazu den folgenden Befehl aus:
pip install aspose-svg-net
Weitere Einzelheiten zur Installation der Python-Bibliothek und zu den Systemanforderungen finden Sie in der Aspose.SVG-Dokumentation.
Andere unterstützte Base64-Encoder
Sie können SVG in einen Base64-String konvertieren und ihn als JSON, XML und CSS speichern: