À retenir
- C'est une signature invisible au début d'un fichier.
- Elle indique l'utilisation de l'Unicode et le sens de lecture (boutisme).
- Elle est souvent inutile, voire gênante, pour les fichiers encodés en UTF-8.
Le BOM est une petite signature invisible placée au tout début d'un fichier texte. Elle sert de « guide de lecture » pour l'ordinateur, lui indiquant que le texte est encodé en Unicode et lui précisant dans quel sens lire les données (l'ordre des octets).
Étymologie
Vient de l'anglais Byte Order Mark, que l'on traduit par « Marque d'Ordre des Octets ». Il a été introduit avec la norme Unicode pour aider les logiciels à identifier automatiquement le format de codage des caractères utilisé dans un document.
Exemples d'usage
- Un fichier texte créé avec le Bloc-notes de Windows en UTF-8 contient souvent un BOM invisible composé de trois octets spécifiques.
- En UTF-16, le BOM permet de savoir si l'octet de poids fort arrive en premier (Big Endian) ou en dernier (Little Endian).
Cas d'usage
Le BOM intervient principalement lors de l'enregistrement et de l'ouverture de fichiers texte destinés à être échangés entre différents systèmes (Windows, macOS, Linux). Il aide les éditeurs de texte à ne pas afficher de caractères illisibles à l'écran.
Bonnes pratiques
En développement web (HTML, CSS, PHP, JS), il est fortement recommandé d'enregistrer ses fichiers en UTF-8 sans BOM. La présence de cette signature peut provoquer des bugs, comme l'apparition d'un espace vide en haut d'une page web ou des erreurs de type « headers already sent » en PHP.
Synonymes
Antonymes
Conseil
Si vous débutez en programmation, configurez votre éditeur de code (comme VS Code ou Notepad++) pour qu'il enregistre systématiquement vos fichiers en UTF-8 sans BOM par défaut. Cela vous évitera de nombreux problèmes de compatibilité invisibles et difficiles à diagnostiquer.
Questions fréquentes
Pourquoi mon site affiche des caractères étranges au début ?
Si vous voyez '', c'est que votre fichier contient un BOM UTF-8 que le navigateur interprète mal. Enregistrez votre fichier en 'UTF-8 sans BOM'.
Le BOM est-il indispensable ?
Non, il est optionnel. La plupart des systèmes modernes supposent que le texte est en UTF-8 par défaut sans avoir besoin de cette marque.