Normalizowanie Unicode

Czy w Pythonie istnieje standardowy sposób znormalizowania ciągu Unicode, tak że zawiera on tylko najprostsze jednostki Unicode, których można użyć do jego reprezentacji?

Mam na myśli coś, co tłumaczyłoby taką sekwencję['LATIN SMALL LETTER A', 'COMBINING ACUTE ACCENT'] do['LATIN SMALL LETTER A WITH ACUTE'] ?

Zobacz, gdzie jest problem:

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

Ale teraz:

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

Mogłabym, oczywiście, przejrzeć wszystkie znaki i dokonać ręcznej wymiany itd., Ale nie jest to wydajne i jestem prawie pewna, że ​​tęsknię za połową specjalnych przypadków i popełnię błędy.

questionAnswers(2)

yourAnswerToTheQuestion