Aller au contenu
uencoder

Byte Order Mark

La marque d'ordre des octets (BOM) est le caractère U+FEFF placé au début d'un texte Unicode pour indiquer la forme d'encodage et l'ordre des octets.

Objectif

Elle permet à un décodeur de détecter automatiquement l'encodage du texte et l'ordre des octets sans métadonnées externes.

Mécanisme

Chaque encodage produit une séquence BOM distincte : UTF-8 = EF BB BF, UTF-16LE = FF FE, UTF-16BE = FE FF, UTF-32LE = FF FE 00 00, UTF-32BE = 00 00 FE FF. Un décodeur lit les 2-4 premiers octets et les compare.

Cas d’usage

  • Détection d'encodage dans les éditeurs de texte
  • Échange de fichiers texte entre systèmes
  • Identification d'encodage pour les imports de bases de données
  • Gestion des fichiers CSV dans Excel

Exemples

  • entrée
    UTF-16LE file
    Output
    FF FE ...

    Leading bytes FF FE indicate little-endian UTF-16

Erreurs courantes

Mistaking a UTF-8 BOM for data content
Detect and strip the BOM when reading

Termes associés

Outils associés

References