NFC или NFD - какая разница?

В Ingres у администратора баз данных есть два варианта при создании баз данных Ingres с поддержкой Unicode. созданный имеет -i флаг для NFC (форма нормализации C) и -n для NFD (форма нормализации C). Документация не делает различий между ними, описание практически идентично.

Можем ли мы предположить, что между ними нет различий, или между ними есть некоторые различия?

1 ответ

Решение

Разница в том, составлены ли символы (C) или разложены (D).

Буквы с "лишними битами" типа ä могут быть представлены по-разному. Существует кодовая точка Unicode, специально созданная для с двумя точками. Это составленная форма, NFC. С другой стороны, вы можете представить его как обычное "а", за которым следует комбинирующий символ, который добавляет две точки. Это разложенная форма, НФД.

Разложенная форма занимает больше места, но составленная форма усложняет некоторые операции, такие как сравнение строк, игнорируя различия в акцентах.

Другие вопросы по тегам