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

  1. Verwenden Sie die Klasse SVGDocument , um den SVG-Inhalt aus dem angegebenen Dateipfad zu laden.
  2. Speichern Sie das geladene SVG-Dokument in einer temporären Datei. Dieser Schritt erleichtert das Lesen des SVG-Inhalts als Zeichenfolge zur Codierung.
  3. Ö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.
  4. 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.
  5. Speichern Sie das erstellte XML-Objekt im angegebenen Dateipfad. Diese XML-Datei enthält nun die Base64-codierten SVG-Daten.
  6. 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

1. Wie kann ich SVG in XML konvertieren?

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.

2. Warum SVG-Dateien kodieren?

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.

3. Was ist Base64-Kodierung?

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.

4. Kann die Base64-Kodierung die Qualität eines SVG-Bildes beeinträchtigen?

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:

Image to Base64 (Binary-to-text encoding)
SVG to JSON (JavaScript Object Notation)
SVG to XML (Extensible Markup Language)
SVG to CSS (Cascading Style Sheets)