Byte Order Mark (BOM)
Utilisé dans les codages multi-octets (UTF-16 et UTF-32) pour indiquer l'ordre dans lequel les séquences
d'octets sont employés pour écrire/transmettre les caractères.
La séquence initiale d'un fichier (flot) peut comporter un BOM
(caractère "ZERO-WIDTH NO-BREAK SPACE" U+FEFF).
Cette séquence peut aussi s'écrire soit U+FEFF soit U+FFEF (qui n'est pas un caractère Unicode).
L'ordre dans lequel le BOM est écrit doit être interprétée comme l'indication de l'ordre utilisé lors
de l'écriture de caractères en séquences d'octets : big-endian ou little-endian.
Exemple en UTF-16
Caractères | BOM | a | é |
è | a |
little-endian | FFFE | 6100 | E900 |
E800 | 6100 |
big-endian | FEFF | 0061 | 00E9 |
00E8 | 0061 |
Si on inverse |
big-endian | FEFF | 6100 | E900 |
E800 | 6100 |
Caractères | BOM | 愀 | |
| 愀 |