Qu'est-ce que le Byte Order Mark (BOM) ?
Le BOM est une séquence d’octets placée en tête d’un fichier ou d’un flux texte pour indiquer l’endianness et parfois l’encodage. En UTF‑8, il est optionnel et souvent source d’erreurs.
Voici les variantes et signatures BOM courantes :
1 UTF‑8 avec BOM
Signature tri-octets au début des fichiers UTF‑8.
2 UTF‑16 (endianness)
Indique l’ordre des octets (big-endian ou little-endian).
3 UTF‑32 (endianness)
Moins courant sur le web mais présent dans certains exports.
4 Apparentés et confusions fréquentes
U+FEFF peut exister comme caractère zéro largeur dans le texte.
Problèmes classiques
Exports d’éditeurs ou d’ETL
Ajoutent un BOM en tête de CSV/JSON/JS/PHP, ce qui casse des parsers et pipelines.
Tests unitaires qui échouent
Comparaisons ratées car une chaîne commence par U+FEFF (EF BB BF en UTF‑8).
Trim() ou strip() inefficaces
Le BOM n’est pas un espace classique et reste en tête des chaînes/fichiers.
Regex et parsers perturbés
EF BB BF en tête casse des entêtes HTTP, JSON.parse, YAML, shebang, etc.
Exemple de problème courant :
Symptômes qui doivent vous alerter
🚨 Signaux d'alarme
Comment le détecter
✨ Solution recommandée : Clean ASCII
Clean ASCII identifie immédiatement la présence d’un Byte Order Mark et précise sa forme (UTF‑8, UTF‑16, UTF‑32). L’analyse se fait en temps réel et pointe l’emplacement exact du BOM pour faciliter la correction.
✅ Détection automatique
Repère EF BB BF, FE FF, FF FE, et variantes UTF‑32
📊 Analyse complète
Affiche les octets, la position et l’impact potentiel sur vos outils
🧹 Nettoyage automatique
Supprime proprement le BOM sans toucher au reste du contenu
💾 Export propre
Téléchargement en UTF‑8 sans BOM, prêt pour CI/CD
Autres méthodes de détection
Affichage dans l'éditeur
En ligne de commande (Unix)
En code
JavaScript
Python
Excel / Google Sheets
Nettoyer et prévenir
🚀 Solution rapide avec Clean ASCII
Avant d’écrire un script, utilisez Clean ASCII pour détecter et supprimer immédiatement le BOM dans votre texte.
Méthodes techniques avancées
🔧 Normaliser
🧹 Filtrer
strip_bom() au chargement des fichiers
⚙️ Automatiser
Checklist rapide
Conclusion
Le Byte Order Mark se cache en tout début de flux, mais ses effets se propagent partout. Un simple EF BB BF suffit à bloquer des pipelines entiers.
En adoptant une politique “UTF‑8 sans BOM”, en détectant systématiquement U+FEFF et en automatisant le nettoyage, vous évitez la majorité des bugs d’encodage et d’intégration.
Détectez le Byte Order Mark maintenant
Utilisez notre outil pour repérer et retirer le BOM en quelques secondes.
Analyser mon texte