https://plnkr.co/edit/2TiWlPG7cVIQ56zR5UGX将Unicode字符依次分解为其组件,返回值是由空格分隔的代码点字符串。 E.g
>>> unicodedata.decomposition("á") # 0061 is 'a' and 0301 is the 'acute accent'
'0061 0301'
我正在使用具有多个变音符号(越南语,例如ế,ở)的Unicode字符,并且不会总是以所需的顺序分解(我需要去除音调标记,但不是其他变音符号,如果有的话) )。
所以,我正在寻找一个可以从代码点组成字符的函数,例如
>>> compose([0x0065, 0x0302]) # 'e', 'circumflex'
'ê'
ADDENDUM
:虽然我知道编写一个解决我的特定问题(越南语)的函数是微不足道的,但我发布这个问题时假设一般问题已由我之前的某个人解决,而且它是也许在标准库中的某个地方。
答案 0 :(得分:1)
答案实际上离你在python doc中的链接不远,它的功能如下:unicodedata.normalize
>>> unicodedata.normalize('NFC', '\u0065\u0302')
'ê'