我正在寻找标准化 python 中的一些 unicode 文本。我想知道是否有一种简单的方法可以在 python 中获得组合 unicode 字符的“非规范化”形式?例如如果我有序列u'o\xaf'
(i.e. latin small letter o
其次是combining macron
), 得到 ō (latin small letter o with macron
)。很容易走另一条路:
o = unicodedata.lookup("LATIN SMALL LETTER O WITH MACRON")
o = unicodedata.normalize('NFD', o)
正如我所评论的,U+00AF 不是一个组合宏。但您可以使用 NFKD 变换将其转换为 U+0020 U+0304。
>>> unicodedata.normalize('NFKD', u'o\u00af')
u'o \u0304'
然后您可以删除空格并通过 NFC 获取 ō。
(请注意,NFKD 在分解方面非常激进,可能会丢失一些语义 - 任何“兼容”的内容都将被分离出来。
-
'½'
(U+008D) ↦'1'
'⁄'
(U+2044)'2'
;
-
'²'
(U+00B2) ↦'2'
-
'①'
(U+2460) ↦'1'
etc.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)