Der Unicode-Standard kennt unterschiedliche Normalformen von Unicode-Zeichenketten und Algorithmen zur Normalisierung, also zur Überführung einer Zeichenkette in eine solche Normalform.
Für viele Zeichen gibt es mehrere Möglichkeiten, sie als Kette von Unicode-Zeichen darzustellen (z. B. das „ö“ als solches oder als „o“ mit Trema). Ein einfacher Byte-Vergleich genügt daher nicht, denn er könnte Unterschiede in der Codierung erkennen, die aber keine Unterschiede im Text bedeuten. Um festzustellen, ob zwei Zeichenketten den gleichen Text repräsentieren, ist es daher hilfreich, beide in die gleiche Normalform zu überführen.