标准库是否与 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')
'ê'
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')
'ê'