Unicode相容字符

当讲解和谈论统一码和UCS时，经常提到“兼容字符”这个字眼。兼容字符是指统一码联盟主张不要使用的图像式字元，正如统一码联盟所说：
若不是为了与其他标准间兼容和能够双向对应转换，就不会在统一码中编码的字符。
然而，其定义实在远比这话语有更深层和复杂的意味。每个字符都有一个标准分解（canonical decomposition）的属性，可是大部分字符这个属性的值是这个字符自身，但超过五千个字符的标准分解属性的值不是该字符自身。这个标准分解属性值能将兼容字符映射到一个或多个的其他的非兼容字符，并借此定义这五千多个字符为统一码中的兼容字符。指定某字符为兼容字符的理由各异，下面有更详细的说明。“分解”这个用语有时会令人感到困惑，因为有些字符“分解”后还是单个字符的形态，这时该字符的分解值就是另一个相等或近似相等的字符。兼容字符与其非空值的标准分解（语义上）是确切等价的。
如果一个兼容字符可以用多个分解序列表示，那么采用了标准顺序（canonical order）的序列是该字符的标准分解。例如，ộ，有两种分解序列：（U+006F LATIN SMALL LETTER O） （U+0302 COMBINING CIRCUMFLEX ACCENT） （U+0323 COMBINING DOT BELOW）或者 （U+006F LATIN SMALL LETTER O） （U+0323 COMBINING DOT BELOW）（U+0302 COMBINING CIRCUMFLEX ACCENT），两个附加符号出现在分解序列中的位置是可交换的。
Unicode的另一个概念兼容性分解（compatibility decomposition），是把一个兼容字符映射为一个或多个的其他的非兼容字符。但兼容字符与兼容性分解可能会有语义（如排版格式上）的损失。例如上角标数字字符⁴与普通的数字字符4。
Unicode的所有预组合字符（precomposed character）都是兼容字符。即所有预组合字符都能够用其他字符或字符序列来表示。因此预组合字符的标准分解总是存在。具有不同于自身且不为空值的标准分解属性值的字符，称为标准组合字符（ canonical composite）。

规范化

统一码要求软件在进行比较或校正文句时，需要先经过兼容分解，这个过程称作规范化。这是做一些相似运算时所必须的动作，如当一个用户进行“不区分大小写”或“不区分附加符号的字母”的搜索时。典型的规范化是指不会改变底层存储的信息（无损）。然后，有些软件可能会造成永久的改变，如在文件内容中删除标准的或非标准的兼容字符（有损）。