unicodedata.decomposition将Unicode字符依次分解为它的组件,返回值是由空格分隔的代码点字符串。E.g
>>> unicodedata.decomposition("á") # 0061 is 'a' and 0301 is the 'acute accent'
'0061 0301'我使用的Unicode字符具有多个diacritics (越南语,例如ế,ở),并且并不总是按照所需的顺序进行分解(我需要去掉音调符号,如果有的话,不要去掉其他的字符符号)。
因此,我正在寻找一个可以从代码点组合字符的函数。
>>> compose([0x0065, 0x0302]) # 'e', 'circumflex'
'ê'ADDENDUM:虽然我知道编写一个解决我的特定问题(越南语)的函数是微不足道的,但我贴出这个问题的前提是,在我之前的人已经解决了这个问题,而且它可能在标准库的某个地方。
发布于 2017-05-14 16:56:38
答案实际上离python中的链接不远,它的功能如下:unicodedata.normalize
>>> unicodedata.normalize('NFC', '\u0065\u0302')
'ê'https://stackoverflow.com/questions/43966376
复制相似问题