Im deutschen Telefonbuch stand "Müller" traditionell so, als würde es "Mueller" geschrieben — Umlaute wurden für die Sortierung wie Vokal-plus-e behandelt (DIN 5007-2). Die alternative Regel DIN 5007-1 behandelt ä, ö, ü dagegen wie einfache a, o, u ohne das angehängte e. Ein einfacher Unicode-Sort folgt keiner von beiden Konventionen, sondern reiht Umlaute stur nach ihrem Codepunkt ein — das Ergebnis passt oft zu keiner der beiden im Alltag vertrauten Reihenfolgen.
Alphabetische gegen numerische Sortierung
Alphabetische (lexikografische) Sortierung vergleicht Zeichenketten Zeichen für Zeichen wie Text. Deshalb landet die Zeichenkette "10" vor "9", weil das Zeichen "1" lexikografisch kleiner ist als "9" — die Sortierung „versteht" nicht, dass es sich um Zahlen handelt. Numerische Sortierung dagegen parst Zeichenketten vor dem Vergleich als Zahlen und liefert die erwartete Reihenfolge 9, 10, 11.
Groß-/Kleinschreibung beim Sortieren
In den meisten Systemen stehen Großbuchstaben lexikografisch vor Kleinbuchstaben (wegen der Zeichenkodierung), sodass "Zebra" bei einer groß-/kleinschreibungssensitiven Sortierung vor "apfel" landen kann. Eine Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung normalisiert Zeichenketten zunächst auf eine einheitliche Schreibweise für den Vergleich, behält aber die ursprüngliche Schreibweise im Ergebnis bei.
Duplikate entfernen
Deduplizierung entfernt wiederholte Zeilen, indem sie Zeichen für Zeichen vergleicht, nicht nach Bedeutung. Eine wichtige Nuance ist die Empfindlichkeit gegenüber Groß-/Kleinschreibung und Leerzeichen — und bei deutschem Text auch gegenüber der Schreibweise von Umlauten: "Straße" und "Strasse" sind zwei völlig unterschiedliche Zeichenketten, die ohne zusätzliche Normalisierung nicht zusammengeführt werden.
Wozu man das braucht
- Wiederholte Einträge aus einer Liste von E-Mail-Adressen oder URLs vor einem Import entfernen.
- Eine Liste von Versionen oder IDs numerisch statt textuell sortieren.
- Zwei Datensätze schnell vergleichen, indem beide Listen in dieselbe sortierte Form gebracht werden.
Natürliche Sortierung (natural sort)
Die natürliche Sortierung ist ein Kompromiss zwischen alphabetischem und numerischem Vorgehen: Sie erkennt Ziffernfolgen innerhalb einer Zeile als Zahlen und vergleicht den Rest als Text. Dadurch steht file2.txt vor file10.txt, obwohl es sich formal um Zeichenketten und nicht um eigenständige Zahlen handelt — praktisch für Dateinamen oder Versionen mit Textpräfix.