Datei hochladen
  1. base64hub
  2. Text-Tools
  3. XML in Base64

XML in Base64: XML-Dokumente kodieren

Fügen Sie ein XML-Dokument ein und erhalten Sie sein Base64. Wählen Sie den Zeichensatz, der zur encoding-Deklaration des Dokuments passt, damit der empfangende Parser dieselben Zeichen liest, die Sie geschrieben haben.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Aktualisiert 27.10.2026
Eingabe 0 BAusgabe 0 BGröße –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So kodieren Sie XML in Base64

  1. Fügen Sie das XML-Dokument in Eingabe · Text ein, oder drücken Sie Beispiel, um ein kleines zu laden.
  2. Stellen Sie Zeichensatz auf die Kodierung, die die XML-Deklaration nennt. UTF-8 ist vorausgewählt und für die meisten Dokumente richtig.
  3. Kopieren Sie das Ergebnis aus Ausgabe · Base64. Lassen Sie Zeilenumbruch für JSON- und HTTP-Felder auf Keiner; manche XML-basierten Protokolle akzeptieren Zeilen à 76 Zeichen.
  4. Herunterladen speichert das Base64 als base64.txt.

Das Beispiel, eine XML-Deklaration gefolgt von einem <note>-Element, ergibt einen String, der mit PD94bWwg beginnt, dem Base64 von <?xml . Fast jedes XML-Dokument mit Deklaration beginnt so, daher ist kodiertes XML leicht zu erkennen. Base64 in XML dekodiert es wieder.

Den Zeichensatz an die XML-Deklaration anpassen

Ein XML-Parser entscheidet anhand des Attributs encoding in der Deklaration (oder einer Byte-Order-Mark), wie er die Bytes liest. Passen Bytes und Deklaration nicht zusammen, liest die Empfängerseite andere Zeichen, als Sie geschrieben haben.

DokumentHier verwendeter ZeichensatzBase64Der Parser liest
<?xml version="1.0" encoding="ISO-8859-1"?><n>café</n>ISO-8859-1PD94bWwg...PjxuPmNhZuk8L24+café
Dasselbe DokumentUTF-8PD94bWwg...PjxuPmNhZsOpPC9uPg==café

Die zweite Zeile ist ein klassischer Integrationsfehler: Der Text wurde als UTF-8 gespeichert, deklariert aber noch Latin-1. Wählen Sie hier entweder den deklarierten Zeichensatz oder, besser, ändern Sie die Deklaration auf UTF-8 und bleiben Sie überall bei UTF-8.

Wo XML als Base64 reist

  • SOAP- und REST-APIs, die ein ganzes XML-Dokument in einem JSON- oder XML-Feld annehmen, damit spitze Klammern und Anführungszeichen nicht maskiert werden müssen. E-Rechnungs- und EDI-Dienste nehmen Rechnungen (zum Beispiel UBL-Dokumente) oft so entgegen.
  • SAML-Single-Sign-on. Eine SAML-Response ist ein XML-Dokument, Base64-kodiert und vom Browser per POST gesendet. Der SAML-Decoder macht aus SAMLResponse- und SAMLRequest-Werten wieder XML.
  • Konfiguration und Secrets. XML-Konfigurationsdateien, die in Umgebungsvariablen oder Kubernetes Secrets liegen, sind Base64, damit sie in eine Zeile passen.

Ist ein Dokument digital signiert (XML-DSig, verwendet in SAML und vielen E-Rechnungsverfahren), kodieren Sie genau die Bytes, die Sie erhalten oder erzeugt haben. Neu einrücken, Zeilenenden ändern oder die Datei in einem Editor neu speichern kann die Signatur ungültig machen, obwohl das XML dasselbe bedeutet.

Größe und Zeilenumbruch

Base64 macht das Dokument etwa 33 % größer. XML ist von vornherein ausführlich, daher werden große Dokumente vor dem Kodieren oft mit gzip komprimiert; das Tool für gzip und Base64 erledigt beide Schritte. Zeilenumbruch bei 76 Zeichen akzeptieren MIME-basierte Transportwege und die meisten XML-Schema-Validatoren für Inhalte vom Typ xs:base64Binary. JSON-basierte APIs erwarten meist eine einzige ununterbrochene Zeile.

XML in Base64 im Code

Lesen Sie die Datei als Bytes und kodieren Sie diese, damit Deklaration und Bytes nicht auseinanderlaufen können:

import base64

with open("invoice.xml", "rb") as f:
    b64 = base64.b64encode(f.read()).decode("ascii")
// Node.js
const fs = require("fs");
const b64 = fs.readFileSync("invoice.xml").toString("base64");

Unter Linux gibt base64 -w 0 invoice.xml dieselbe einzelne Zeile aus. Zum Streamen großer Dateien siehe Base64 in Python und Base64 in Node.js.

Häufige Fragen

Wie wandle ich eine XML-Datei in Base64 um?

Fügen Sie das XML oben ein und kopieren Sie das Ergebnis. Bei Dateien kodieren Sie besser die rohen Bytes, statt den Text abzutippen: base64.b64encode(open("doc.xml", "rb").read()) in Python oder base64 -w 0 doc.xml unter Linux.

Welchen Zeichensatz sollte ich für XML wählen?

Den aus der XML-Deklaration. <?xml version="1.0" encoding="UTF-8"?> oder kein encoding-Attribut bedeutet UTF-8, die Voreinstellung. Steht dort ISO-8859-1 oder Windows-1252, wählen Sie das, oder ändern Sie die Deklaration auf UTF-8.

Darf ich das XML vor dem Kodieren neu formatieren?

Nur wenn nichts von den exakten Bytes abhängt. Einrückung ändert das Base64, und bei signiertem XML (SAML-Assertions, signierte Rechnungen) kann sie die Signatur brechen.

Was hat es mit xs:base64Binary auf sich?

Dieser XML-Schema-Typ ist der umgekehrte Fall: Base64 in einem XML-Element, um Dateien in SOAP-Nachrichten und Rechnungen einzubetten. Kodieren Sie die Datei mit Datei in Base64 und fügen Sie das Ergebnis in das Element ein.