Normalisierung von Unicode

Gibt es in Python eine Standardmethode, um eine Unicode-Zeichenfolge zu normalisieren, sodass sie nur die einfachsten Unicode-Entitäten umfasst, mit denen sie dargestellt werden kann?

Ich meine, etwas, das eine Sequenz wie übersetzt['LATIN SMALL LETTER A', 'COMBINING ACUTE ACCENT'] zu['LATIN SMALL LETTER A WITH ACUTE'] ?

Sehen Sie, wo das Problem liegt:

>>> import unicodedata
>>> char = "á"
>>> len(char)
1
>>> [ unicodedata.name(c) for c in char ]
['LATIN SMALL LETTER A WITH ACUTE']

Aber jetzt:

>>> char = "á"
>>> len(char)
2
>>> [ unicodedata.name(c) for c in char ]
['LATIN SMALL LETTER A', 'COMBINING ACUTE ACCENT']

Ich könnte natürlich alle Zeichen durchlaufen und manuelle Ersetzungen usw. vornehmen, aber das ist nicht effizient, und ich bin mir ziemlich sicher, dass ich die Hälfte der Sonderfälle verpassen und Fehler machen würde.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage