Charger un fichier
  1. base64hub
  2. Outils texte
  3. XML en Base64

XML en Base64 : encoder des documents XML

Collez un document XML et obtenez son Base64. Choisissez le jeu de caractères qui correspond à la déclaration encoding du document, pour que le parseur destinataire lise les mêmes caractères que ceux que vous avez écrits.

Gratuit sans inscription, sans limites Local rien n'est envoyé Mis à jour 27 oct. 2026
Entrée 0 BSortie 0 BTaille –

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment encoder du XML en Base64

  1. Collez le document XML dans Entrée · texte, ou appuyez sur Exemple pour en charger un petit.
  2. Réglez Jeu de caractères sur l’encodage indiqué dans la déclaration XML. UTF-8 est présélectionné et convient à la plupart des documents.
  3. Copiez le résultat depuis Sortie · Base64. Laissez Retour à la ligne sur Aucun pour les champs JSON et HTTP ; certains protocoles basés sur XML acceptent des lignes de 76 caractères.
  4. Télécharger enregistre le Base64 dans base64.txt.

L’exemple, une déclaration XML suivie d’un élément <note>, s’encode en une chaîne qui commence par PD94bWwg, le Base64 de <?xml . Presque tous les documents XML avec déclaration commencent ainsi, ce qui rend le XML encodé facile à reconnaître. Base64 en XML le décode à nouveau.

Accorder le jeu de caractères à la déclaration XML

Un parseur XML décide comment lire les octets d’après l’attribut encoding de la déclaration (ou d’après une marque d’ordre des octets). Si les octets et la déclaration ne concordent pas, le destinataire lit d’autres caractères que ceux que vous avez écrits.

DocumentJeu de caractères utilisé iciBase64Le parseur lit
<?xml version="1.0" encoding="ISO-8859-1"?><n>café</n>ISO-8859-1PD94bWwg...PjxuPmNhZuk8L24+café
Le même documentUTF-8PD94bWwg...PjxuPmNhZsOpPC9uPg==café

La deuxième ligne est un bug d’intégration classique : le texte a été enregistré en UTF-8 mais déclare toujours du Latin-1. Choisissez ici le jeu de caractères déclaré ou, mieux, changez la déclaration en UTF-8 et gardez l’UTF-8 partout.

Où le XML voyage en Base64

  • Les API SOAP et REST qui acceptent un document XML entier dans un champ JSON ou XML, pour que ses chevrons et ses guillemets n’aient pas besoin d’être échappés. Les services de facturation électronique et d’EDI reçoivent souvent les factures (par exemple des documents UBL) de cette façon.
  • L’authentification unique SAML. Une réponse SAML est un document XML, encodé en Base64 et envoyé par le navigateur. Le décodeur SAML retransforme les valeurs SAMLResponse et SAMLRequest en XML.
  • La configuration et les secrets. Les fichiers de configuration XML stockés dans des variables d’environnement ou des Secrets Kubernetes sont en Base64 pour tenir sur une ligne.

Quand un document est signé numériquement (XML-DSig, utilisé dans SAML et dans de nombreux schémas de facturation électronique), encodez les octets exacts reçus ou produits. Réindenter, changer les fins de ligne ou réenregistrer le fichier dans un éditeur peut invalider la signature, même si le XML a toujours le même sens.

Taille et retours à la ligne

Base64 ajoute environ 33 % au document. Le XML étant verbeux au départ, les gros documents sont souvent compressés en gzip avant l’encodage ; l’outil gzip et Base64 fait les deux étapes. Un Retour à la ligne à 76 caractères est accepté par les transports basés sur MIME et par la plupart des validateurs XML Schema pour le contenu xs:base64Binary. Les API basées sur JSON attendent généralement une seule ligne continue.

XML en Base64 dans le code

Lisez le fichier en octets et encodez-les, pour que la déclaration et les octets ne puissent pas diverger :

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");

Sous Linux, base64 -w 0 invoice.xml affiche la même ligne unique. Voir Base64 en Python et Base64 en Node.js pour traiter de gros fichiers en streaming.

FAQ

Comment convertir un fichier XML en Base64 ?

Collez le XML ci-dessus et copiez le résultat. Pour un fichier, encodez les octets bruts plutôt que de ressaisir le texte : base64.b64encode(open("doc.xml", "rb").read()) en Python, ou base64 -w 0 doc.xml sous Linux.

Quel jeu de caractères choisir pour du XML ?

Celui de la déclaration XML. <?xml version="1.0" encoding="UTF-8"?> ou l’absence d’attribut encoding signifie UTF-8, la valeur par défaut. Si la déclaration indique ISO-8859-1 ou Windows-1252, choisissez celui-là, ou changez la déclaration en UTF-8.

Peut-on reformater le XML avant de l'encoder ?

Seulement si rien ne dépend des octets exacts. L’indentation change le Base64 et, pour du XML signé (assertions SAML, factures signées), elle peut casser la signature.

Quel est le rôle de xs:base64Binary ?

Ce type XML Schema correspond au cas inverse : du Base64 dans un élément XML, utilisé pour intégrer des fichiers dans des messages SOAP et des factures. Encodez le fichier avec Fichier en Base64 et collez le résultat dans l’élément.