2013-02-04 33 views

cevap

23

Birkaç kod örneklerini dokümantasyon oldukça açık bulmak, ama burada şunlardır:

from unicodedata import normalize 

print '%r' % normalize('NFD', u'\u00C7') # decompose: convert Ç to "C + ̧" 
print '%r' % normalize('NFC', u'C\u0327') # compose: convert "C + ̧" to Ç 

Hem 'D' (= ayrıştırmak) formları iki karakter içine birleştirilmiş tek bir karakter (gibi ä) (a dönüştürmek + iki nokta). 'C' (= compose) formlarının her ikisi de tersini yapar.

İki "K" formu, uyumluluk amacıyla Unicode'a eklenen karakterleri dönüştürmek için kullanılır. Örneğin, sembollerin etrafında daire çizemeyen yazılımı desteklemek için, ① (unicode number 2460) gibi bir dizi "daire içine alınmış sayı" vardır.

print '%r' % normalize('NFKD', u'\u2460') # 1 

:

print '%r' % normalize('NFD', u'\u2460')  # u'\u2460' 

Ancak uyumluluk ayrışma (NFKD) karşılık gelen "uyumlu" karakterini döndürür: biz buna Kurallı bir oluşuma (NFD) uyguladığınızda, bu şey yapmaz Daha fazla ayrıntı için bkz. http://en.wikipedia.org/wiki/Unicode_equivalence.