답변

23

나는 몇 가지 코드 예제를 문서 꽤 분명 찾을 수 있지만 현재 위치 :

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 Ç 

모두 'D'(= 분해) 형태의 두 문자로 하나의 결합 된 문자 (같은 ä) (a 변환 + 두 점). 'C'(= 작성) 양식은 그 반대입니다.

두 개의 "K"형식은 호환성을 위해 유니 코드에 추가 된 문자를 변환하는 데 사용됩니다. 예를 들어 심볼 주위에 원을 그릴 수없는 소프트웨어를 지원하려면 ① (유니 코드 번호 2460)과 같은 "원 번호"가 있습니다.

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

:

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

그러나, 호환성 분해 (NFKD가) 해당 "호환"문자를 반환합니다 : 우리가 그것을 정식 분해 (NFD)을 적용 할 때, 그것은 아무것도하지 않습니다 자세한 내용은 http://en.wikipedia.org/wiki/Unicode_equivalence을 참조하십시오.