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 | 愀 | |
| 愀 |