= Canonical equivalence
<Canonical equivalence> relates <Unicode> sequences that represent the same abstract text through canonically interchangeable representations. A precomposed character and its canonical decomposition are an important example. <Unicode normalization> makes canonically equivalent sequences share a specified normal form.<Unicode Normalization Forms by the Unicode Consortium>[§1.1, Canonical Equivalence; §1.2, NFC and NFD]{ref}
The single <code point> `U+00E9` and the pair `U+0065 U+0301` differ in length and stored <code units>, but represent canonically equivalent accented text. NFD maps both to the decomposed pair, while NFC maps both to the composed character. Comparing raw <bytes> would miss that relationship if the representations differ. In contrast, the circled digit `U+2460` and ordinary `1` have <compatibility equivalence> without <canonical equivalence>. Canonical normalization thus preserves more distinctions than the compatibility forms.
Back to article page