Często zadawane pytania są nieco mylące, począwszy od użycia słowa "powinien", a następnie niespójnego zastosowania "wymogu" dotyczącego tej samej rzeczy. Sam standard Unicode (cytowany w FAQ) jest dokładniejszy. Zasadniczo nie powinieneś oczekiwać, że programy traktują kanonicznie równoważne łańcuchy jako różne, ale nie należy oczekiwać, że wszystkie programy traktują je jako identyczne.
W praktyce naprawdę zależy to od tego, jakie oprogramowanie musi wykonać. W większości przypadków nie trzeba wcale normalizować, a normalizacja może niszczyć istotne informacje w danych.
Na przykład U + 0387 GRECJA ANO TELEIA (·) jest zdefiniowany jako kanoniczny odpowiednik U + 00B7 MIDDLE DOT (·). To był błąd, ponieważ postacie są naprawdę różne i powinny być renderowane inaczej i traktowane inaczej w przetwarzaniu. Ale jest za późno, aby to zmienić, ponieważ ta część Unicode została wykuta w kamień. W związku z tym, jeśli konwertujesz dane na NFC lub w inny sposób odrzucasz różnice między kanonicznie równoważnymi ciągami, ryzykujesz uzyskanie niewłaściwych znaków.
Istnieje ryzyko związane z normalizacją przez , a nie.Na przykład litera "ä" może pojawić się jako pojedynczy znak Unicode U + 00E4 LATIN MAŁA LITERA A Z DIAERESIS lub jako dwa znaki Unicode U + 0061 LATIN MAŁY LIST A A U + 0308 COMBINING DIAERESIS. Będzie to przede wszystkim ta pierwsza, to znaczy forma z góry złożona, ale jeśli jest to druga i twoje testy kodu dla danych zawierających "ä", tylko przy użyciu wstępnie skomponowanej formy, to nie wykryje ona tej ostatniej. Ale w wielu przypadkach nie robisz takich rzeczy, ale po prostu przechowujesz dane, łączysz łańcuchy, drukujesz je itd. Wtedy istnieje ryzyko, że te dwie reprezentacje powodują nieco różne renderowania.
Ma również znaczenie, czy oprogramowanie przekazuje dane znakowe do innego oprogramowania. Odbiorca może oczekiwać, ze względu na naiwne domyślne założenia lub świadomie iw udokumentowany sposób, że jego dane wejściowe są znormalizowane.
«NFC jest najlepszą formą dla ogólnego tekstu, ponieważ jest bardziej kompatybilny z ciągami konwertowanymi ze starszych kodowań. ... NFD i NFKD są najbardziej przydatne do wewnętrznego przetwarzania. »Są nieco fałszywymi stwierdzeniami. Podczas gdy starsze napisy mogą występować w formie, która po konwersji do Unicode ma postać NFC, w celu przyszłej konserwacji (kod zawsze kończy się w nieprzewidzianych warunkach), lepiej będzie, jeśli dokonasz konwersji na NF [CD] jawnie. – ninjalj