标准库是否与 unicodedata.decomposition 相反?

Does the Standard Library have an opposite to unicodedata.decomposition?

unicodedata.decomposition 按顺序将 Unicode 字符分解为其组件,其中 return 值是由 space 分隔的代码点字符串。 例如

>>> unicodedata.decomposition("á") # 0061 is 'a' and 0301 is the 'acute accent' 
'0061 0301'

我正在处理具有多个变音符号(越南语,例如 ế、ở)的 Unicode 字符,并且并不总是按所需的顺序分解(我需要去除声调标记,但不需要去除其他变音符号,如果有的话)。

所以,我正在寻找一个可以从代码点组成字符的函数,例如

>>> compose([0x0065, 0x0302]) # 'e', 'circumflex'
'ê'

ADDENDUM:虽然我知道编写一个函数来解决我的特定问题(越南语)是微不足道的,但我已经发布了这个问题,假设一般问题已经被我之前的人解决了,它可能在标准库中的某个地方。

答案实际上与 python 文档中的 link 不远,它是下面的函数:unicodedata.normalize

>>> unicodedata.normalize('NFC', '\u0065\u0302')
'ê'