考虑 Python 3.3 中的这段代码:
import unicodedata
foo = 'some unicode string that contains characters decomposable to Unicode 3.2.0 NFD'
bar = unicodedata.ucd_3_2_0.normalize('NFD', foo)
bla = unicodedata.normalize('NFC', bar)
最后一条语句是否保证有效?我想更好的问题是:Unicode 3.2.0 中是否有任何 NFD 序列未被 Unicode 6.1.0 覆盖(这是 Python 3.3 中的默认值)?
我意识到,在字节级别,可能不bla
完全相同\u0307 . 我认为只要看起来与最终用户相同,而不是看起来损坏/混乱,就可以了。foo
foo
bla
foo