【问题标题】:Does the Standard Library have an opposite to unicodedata.decomposition?标准库是否与 unicodedata.decomposition 相反?
【发布时间】:2017-05-14 16:35:36
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: python python-3.x unicode python-unicode


    【解决方案1】:

    答案其实离你在python文档中的链接不远,就是下面这个函数:unicodedata.normalize

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

    【讨论】:

    • 太棒了。谢谢你。
    猜你喜欢
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2016-04-18
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多