查看以下代码段:
>>> import unicodedata
>>> from unicodedata import normalize, name
>>> normalize('NFKD', u'\xb4')
u' \u0301'
>>> normalize('NFKD', u'a\xb4a')
u'a \u0301a'
>>> normalize('NFKC', u'a\xb4a')
u'a \u0301a'
>>> name(u'\xb4'), name(u'\u0301')
('ACUTE ACCENT', 'COMBINING ACUTE ACCENT')
我试图了解要翻译的行为u'\xb4'
是否u' \u0301'
正确。为什么它用空格填充组合的尖锐重音?为什么它要翻译 u\xb4
呢?
在文件格式中,我们看到ACUTE ACCENT
曾经被称为SPACING ACUTE
. 我想,这只是意味着光标应该移动而不是等待输入以下字符。
UPD:如果有人感兴趣,这里是一个列表,如果 NFKC 规范化后的 unicode 字符在开头有空格:http: //pastebin.com/Z99r5AK9