Nettoyage Base64
Outil gratuit de nettoyage Base64 en ligne qui supprime les sauts de ligne, espaces, caractères invisibles et autres contenus invalides des chaînes Base64. Trois options indépendantes (supprimer les espaces blancs, supprimer les caractères spéciaux, compléter automatiquement le padding) ; sortie strictement conforme à RFC 4648.
Recommandations connexes
Qu'est-ce que le nettoyage Base64 ?
Le nettoyage Base64 consiste à supprimer tous les caractères invalides et redondants d'une chaîne Base64. L'objectif est de produire un Base64 pur strictement conforme à la RFC 4648, afin qu'il puisse être transmis, stocké et décodé entre différents systèmes.
Pourquoi nettoyer : le Base64 provenant de diverses sources contient souvent des caractères indésirables. ① Sauts de ligne (\n, \r\n) – provenant de pièces jointes d'e-mails, de champs de base de données ou de sorties de journaux ; ② Espaces et tabulations – lors de collage manuel ou de copie depuis Excel ; ③ BOM UTF-8 (EF BB BF) – de fichiers texte enregistrés sous Windows ; ④ Caractères pleine chasse et ponctuation chinoise – erreurs de copier-coller. Tous ces éléments provoquent des erreurs de décodeur.
Trois options de nettoyage : ① Supprimer les espaces blancs (espaces, \n, \r, \t) – traite les sauts de ligne et les espaces ; ② Supprimer les caractères spéciaux – conserve uniquement l'alphabet Base64 A-Z a-z 0-9 + / = - _ ; ③ Compléter automatiquement le padding – rend la longueur du résultat multiple de 4. Les trois options peuvent être cochées indépendamment et combinées à volonté.
Usages typiques : ① Débogage d'API – nettoyer le Base64 renvoyé par des interfaces tierces qui provoque des erreurs lors du collage ; ② Import en base de données – supprimer les espaces superflus lors de la copie depuis Excel ; ③ Prétraitement avant décodage – éviter InvalidCharacterError avec atob() ; ④ Normalisation JWT / Data URL – gérer les différences de transmission inter-système.
Cas d'utilisation
- Prétraitement avant décodage : nettoie le Base64 contenant des sauts de ligne ou des espaces provenant d'interfaces tierces, de JWT ou de journaux en une forme directement décodable, afin d'éviter InvalidCharacterError.
- Réparation de copier-coller depuis Excel/e-mails : supprime les espaces superflus, tabulations et sauts de ligne entraînés lors de la copie depuis des cellules Excel ou du corps d'e-mails.
- Nettoyage de token JWT : normalise les chaînes JWT en trois parties (header.payload.signature) avec sauts de ligne en une seule ligne et supprime les espaces blancs superflus.
- Traitement de pièces jointes MIME : nettoie le format Base64 des pièces jointes d'e-mails avec saut de ligne tous les 76 caractères pour un décodage ultérieur.
- Compatibilité URL-safe : conserve - et _ afin que le Base64 des JWT, chemins d'URL et noms de fichiers ne soit pas détruit par erreur.
- Prétraitement avant nettoyage par lots : à utiliser en conjonction avec base64-format / base64-padding, nettoyer d'abord puis formater ou compléter le padding.
Comment utiliser
- Collez ou saisissez la chaîne Base64 bruitée (les sauts de ligne, espaces et autres caractères invalides sont autorisés).
- Cochez les options de nettoyage souhaitées : supprimer les espaces blancs, supprimer les caractères spéciaux, compléter automatiquement le padding (par défaut, les trois sont activées).
- Consultez la sortie sur la droite : elle affiche en temps réel le Base64 nettoyé, le compte de caractères, le nombre de caractères supprimés et la validité du décodage.
- Copiez le résultat dans le presse-papiers ou téléchargez-le sous forme de fichier .txt pour un traitement ultérieur.
Fonctionnalités
- Option de suppression des espaces blancs : supprime automatiquement \n, \r, \t et les espaces, adaptée aux scénarios de pièces jointes d'e-mails, de collage Excel, etc.
- Option de suppression des caractères spéciaux : conserve uniquement les 66 caractères Base64 valides : A-Z a-z 0-9 + / = - _.
- Complétion automatique du padding : peut être activée pour rendre la longueur du résultat multiple de 4 et corriger les erreurs de longueur.
- Trois options indépendantes et combinables : sélectionnables selon les besoins, flexibles pour différents degrés de pollution.
- Conservation des caractères URL-safe : - et _ ne sont pas supprimés par erreur, évitant la perte de caractères dans les scénarios JWT/URL.
- Validation en temps réel de la sortie : vérifie via atob() dans le navigateur si la sortie est décodable ; l'état s'affiche en temps réel.
- Comptage de caractères et indication des suppressions : affiche en direct le nombre de caractères en entrée/sortie, le nombre de caractères supprimés et l'état de décodabilité.
- Traitement local dans le navigateur : toutes les opérations de nettoyage s'exécutent localement ; le Base64 d'origine n'est envoyé à aucun serveur.
Best Practices
Nettoyer d'abord, puis compléter avec l'outil de padding
Le nettoyage ne fait que supprimer les caractères invalides et complète éventuellement le padding. Si le Base64 présente à la fois des sauts de ligne et un padding manquant, cochez d'abord les trois options de nettoyage, puis vérifiez si la longueur de sortie n'est toujours pas multiple de 4. Si une anomalie de padding persiste, utilisez ensuite l'outil de padding dédié.
Traiter les tokens JWT en trois parties séparément
Un JWT est une chaîne Base64URL en trois parties (header.payload.signature) reliées par des points. Lors du nettoyage, les trois parties doivent être débarrassées des espaces blancs, mais aucun caractère supplémentaire ne doit être inséré entre les parties, sinon la vérification de signature échouera. Il est recommandé de séparer selon les points avant de coller, de nettoyer chaque partie individuellement puis de les reassembler.
Pour une entrée URL-safe, désactiver éventuellement « supprimer les caractères spéciaux »
Le Base64 URL-safe utilise - et _ à la place de + et /. Cet outil conserve par défaut les quatre caractères. Cependant, si vous avez défini manuellement une liste blanche de caractères plus stricte (autorisant uniquement +/), l'entrée URL-safe sera détruite. Si vous n'êtes pas sûr du jeu de caractères, désactivez « supprimer les caractères spéciaux » et ne gardez que « supprimer les espaces blancs ».
Si des erreurs persistent après nettoyage → vérifier l'encodage et le BOM
Si atob() renvoie toujours InvalidCharacterError après nettoyage, il peut rester des restes de BOM UTF-8 (EF BB BF) ou de marques d'ordre d'octet UTF-16. L'option « supprimer les espaces blancs » ne cible pas le BOM. Il est recommandé de le décoder à nouveau en UTF-8 avec TextDecoder dans la console du navigateur pour ôter le BOM, puis de renettoyer.
Identifier la source du BOM : fichiers TXT enregistrés sous Windows
Si le Base64 provient d'un fichier enregistré en UTF-8 avec le Bloc-notes Windows, les 3 premiers octets (EF BB BF) constituent le BOM. Même après suppression des espaces blancs et sauts de ligne, atob() peut échouer. Solution : réenregistrer en UTF-8 sans BOM avec VS Code ou PowerShell.
Afficher des comparaisons avant/après lors de démonstrations d'enseignement et de documentation
Le nettoyage Base64 est un point de difficulté courant dans l'enseignement. Il est recommandé d'inclure dans la documentation à la fois le Base64 avant et après nettoyage, avec des comparaisons du nombre de caractères et de l'état de décodabilité, pour permettre aux lecteurs de comprendre intuitivement l'effet de chaque option.
FAQ
Le nettoyage Base64 modifie-t-il les octets d'origine ?
Non. Le nettoyage ne fait que supprimer les caractères invalides (espaces blancs, sauts de ligne, caractères non Base64), sans modifier les caractères valides intermédiaires. Si seuls les espaces blancs et caractères invalides sont supprimés, les octets avant et après nettoyage sont identiques. Si « compléter automatiquement le padding » est coché, seuls des = sont ajoutés à la fin, ce qui n'affecte pas les octets d'origine.
Quelle est la différence entre les trois options de nettoyage ?
Supprimer les espaces blancs : supprime les espaces, \n, \r et \t. Supprimer les caractères spéciaux : ne conserve que les 66 caractères Base64 valides A-Z a-z 0-9 + / = - _. Compléter automatiquement le padding : ajoute = à la fin pour que la longueur soit multiple de 4. Les trois options sont indépendantes et combinables.
Pourquoi atob() renvoie-t-il InvalidCharacterError ?
Causes fréquentes : ① Contient des caractères chinois, des emojis Unicode ou d'autres caractères non-ASCII ; ② Contient des sauts de ligne ou des espaces (cas fréquent lors de copie depuis Excel ou des e-mails) ; ③ Les caractères Base64URL (- _) sont mal utilisés ; ④ La longueur n'est pas multiple de 4. Le nettoyage de cet outil résout les 3 premiers problèmes, l'outil de padding résout le quatrième.
Le nettoyage supprime-t-il le padding ?
Non. = est un caractère Base64 valide et est explicitement conservé par l'option « supprimer les caractères spéciaux ». Si vous souhaitez supprimer le padding, utilisez l'outil de padding dédié (base64-padding) en mode « supprimer le padding ».
Comment nettoyer les sauts de ligne contenus ?
Par défaut, « supprimer les espaces blancs » est activée et s'en charge. Les sauts de ligne (\n / \r\n), tabulations et espaces sont supprimés. Si vous souhaitez conserver les sauts de ligne (format de pièce jointe MIME), désactivez l'option « supprimer les espaces blancs ».
Cet outil peut-il traiter le BOM UTF-8 ?
Le BOM (EF BB BF) est le caractère Unicode U+FEFF. L'option « supprimer les espaces blancs » de cet outil utilise l'expression régulière \s \n \r \t, qui n'inclut pas U+FEFF, donc le BOM peut subsister. En cas d'InvalidCharacterError causé par le BOM, nous recommandons de le supprimer d'abord dans le code ou la console du navigateur avec TextDecoder.
Les caractères URL-safe et standard Base64 sont-ils convertis entre eux ?
Non. L'option « supprimer les caractères spéciaux » conserve les quatre caractères + / - _ et n'effectue qu'une suppression de bruit sans conversion active. Pour une conversion entre URL-safe et standard, utilisez l'outil Base64URL dédié (base64-url-safe).
Mes contenus sont-ils envoyés à un serveur ?
Non. Toute la logique de nettoyage s'exécute localement dans le navigateur ; la chaîne Base64 d'origine ne quitte jamais votre appareil. Même les données sensibles telles que les identifiants, clés ou tokens peuvent être traitées en toute confiance.
Peut-on nettoyer plusieurs segments Base64 à la fois ?
Cet outil propose une interface de nettoyage de segment unique. Si plusieurs segments Base64 doivent être nettoyés, nous recommandons d'appeler la logique de cet outil de manière itérative ou d'utiliser un outil en ligne de commande adapté (par exemple la commande base64). Pour l'encodage/décodage par lots, veuillez utiliser base64-batch-encode / base64-batch-decode.
Dépannage
atob() renvoie encore une erreur après nettoyage
La cause peut être un problème de longueur (pas multiple de 4) ou des restes de BOM/encodage. Vérifiez que « compléter automatiquement le padding » est activé. Si l'erreur persiste, décodez à nouveau en UTF-8 avec TextDecoder dans la console du navigateur, retirez le BOM puis renettoyez.
La longueur a changé après nettoyage mais le décodage échoue toujours
Le contenu d'origine n'est peut-être pas du Base64 standard, mais du Base32 / Base58 / Base85. Vérifiez le format d'encodage des données d'origine et basculez vers l'outil correspondant. Vous pouvez également essayer de tester la chaîne d'origine avec btoa() avant atob() pour voir si elle peut être réencodée.
Très peu de caractères restent après nettoyage
Il est probable que l'option « supprimer les caractères spéciaux » soit trop stricte et ait également supprimé + / - _. Vérifiez si vous avez désactivé par erreur la liste blanche de caractères ; cet outil conserve par défaut les 66 caractères Base64 valides. Si l'entrée est URL-safe, désactivez « supprimer les caractères spéciaux ».
Aucune sortie n'apparaît après collage
L'entrée est peut-être entièrement composée d'espaces blancs (uniquement des espaces / sauts de ligne / tabulations). L'option « supprimer les espaces blancs » les supprime entièrement et laisse une chaîne vide. Vérifiez que l'entrée d'origine contient au moins un caractère Base64 (A-Z a-z 0-9 + / =).
Glossaire
- UTF-8 BOM
- Marque d'ordre d'octet (Byte Order Mark). Un préfixe de 3 octets (0xEF 0xBB 0xBF) que Windows ajoute lors de l'enregistrement de texte UTF-8. Il fait que le décodeur Base64 traite le premier caractère comme un octet invalide.
- URL Safe Base64
- La variante Base64 URL-sûre définie dans la RFC 4648 §5, qui remplace + et / par - et _. L'option « supprimer les caractères spéciaux » de cet outil conserve ces 4 caractères pour éviter toute suppression accidentelle.
- Saut de ligne
- \r\n (Windows) et \n (Unix/macOS). Le Base64 MIME des pièces jointes d'e-mails effectue généralement un saut de ligne tous les 76 caractères ; ces sauts doivent être supprimés lors du nettoyage.
- Caractères Base64 valides
- Le jeu de caractères Base64 standard comprend A-Z, a-z, 0-9, +, /, = (padding) plus les variantes URL-safe - et _ – soit 66 caractères valides au total.
- InvalidCharacterError
- L'erreur de décodage levée par la fonction atob() du navigateur. Elle se déclenche lorsque la chaîne Base64 contient des caractères hors de la table de caractères valides (caractères chinois, espaces blancs, symboles spéciaux, etc.).
Jeu de caractères Base64 et règles de conservation
Tableau des caractères valides conservés par l'option « supprimer les caractères spéciaux ».
| Type de caractère | Caractères | Règle de conservation |
|---|---|---|
Lettres | A-Z, a-z | 52 caractères, systématiquement conservés |
Chiffres | 0-9 | 10 caractères, systématiquement conservés |
Symboles Base64 standard | + / | 2 caractères, systématiquement conservés |
Symboles URL-safe | - _ | 2 caractères, conservés en scénario URL-safe |
Padding | = | Remplissage en fin, systématiquement conservé |
Espaces blancs | espaces, \n, \r, \t | Supprimés par l'option « supprimer les espaces blancs » |
Autres | Caractères chinois / emojis / BOM, etc. | Supprimés par l'option « supprimer les caractères spéciaux » |
5 sources courantes de pollution Base64
Comment les contenus invalides s'introduisent dans les chaînes Base64.
| Source de pollution | Contenus introduits | Option recommandée |
|---|---|---|
Pièce jointe d'e-mail | \r\n tous les 76 caractères | Supprimer les espaces blancs |
Copier-coller Excel/BDD | Espaces en début/fin / tabulation | Supprimer les espaces blancs |
Fichier TXT Windows | BOM UTF-8 (EF BB BF) | Supprimer les caractères spéciaux + retirer le BOM manuellement |
URL / nom de fichier | Conflit de caractères + / | Conserver l'URL-safe (convertir avec base64-url-safe) |
Sortie de log/trace | Préfixe / suffixe de débogage | Supprimer les caractères spéciaux |
Comparaison des 3 options de nettoyage
Les trois options sont indépendantes et combinables.
| Option | Comportement | Scénario typique |
|---|---|---|
Supprimer les espaces blancs | Supprime espaces, \n, \r, \t | E-mails / Excel / journaux |
Supprimer les caractères spéciaux | Ne conserve que l'alphabet Base64 | Caractères chinois / emojis / BOM mélangés |
Compléter automatiquement le padding | Ajoute = en fin jusqu'à multiple de 4 | Longueur non multiple de 4 |
Authoritative References
- Comparaison sécurisée
- Conversion Binaire
- Chiffre de César
- Code Morse
- Hexadécimal
- Vidéo vers Base64
- Base64 en Vidéo
- Image vers Base64
- Base64 vers image
- Texte vers Base64
- Base64 vers Texte
- Vérificateur de hash de fichier
- Fichier vers Base64
- Base64 vers Fichier
- Audio vers Base64
- Base64 vers Audio
- Chiffrer et déchiffrer AES
- Chiffrement DES
- Encodeur Décodeur Base32
- Encoder et decoder Base58
- Encodage Base64
- Décodage Base64
- Comparaison Base64
- Découpage Base64
- Fusion Base64 multi-lignes
- Formatage Base64
- Validation Base64
- Encodage Base64 par lots
- Décodage Base64 par Lots
- Nettoyage Base64
- Gestion du padding Base64
- Statistiques Base64
- Base64 vers HEX
- Convertisseur Base64 DataURL
- Convertisseur Base64-Hex
- Encodage Base85
- HMAC Générateur
- PBKDF2 Dérivation
- Hash MD5
- Hash SHA-256
- Hachage SHA1
- Hachage SHA512
- Décodeur, Vérificateur et Générateur JWT
- HTML Encode/Decode
- Unicode Escape
- Encodage URL
- Base64 URL-safe
- MIME Base64
- Obfuscation Java
- Obfuscation JavaScript
- Obfuscation PHP
- Obfuscation Python