
Normalizer::normalize 함수는 문자열의 정규화 과정을 수행하는 함수입니다. 이 함수의 'form' 매개변수는 정규화 형식을 지정하는 데 사용됩니다.
- NFC (Normalization Form C): NFC는 문자열을 정규화하는 데 사용되는 가장 일반적인 형식입니다. NFC는 다음 두 가지 규칙을 적용합니다.
- U+0300부터 U+036F까지의 조합 문자는 그에 해당하는 단일 문자로 대체됩니다. 예를 들어, 'a'와 '0300'을 합친 'ā'는 'ā'로 대체됩니다.
- U+0300부터 U+036F까지의 조합 문자가 아닌 경우, 그 문자는 그대로 유지됩니다.
NFC는 문자열을 읽기 편한 형식으로 정규화합니다.
- NFD (Normalization Form D): NFD는 NFC와 유사하지만, 조합 문자를 단일 문자로 분리하는 대신, 조합 문자를 그 자체로 유지합니다. 예를 들어, 'ā'는 'a'와 '0300'으로 분리됩니다.
NFD는 문자열을 분석하기 편한 형식으로 정규화합니다.
- NFKC (Normalization Form KC): NFKC는 NFC와 유사하지만, 조합 문자를 단일 문자로 대체할 때, 그에 해당하는 단일 문자가 존재하는지 확인합니다. 만약 존재하지 않는다면, 조합 문자를 그 자체로 유지합니다.
NFKC는 문자열을 읽기 편한 형식으로 정규화합니다.
- NFKD (Normalization Form KD): NFKD는 NFD와 유사하지만, 조합 문자를 단일 문자로 분리할 때, 그에 해당하는 단일 문자가 존재하는지 확인합니다. 만약 존재하지 않는다면, 조합 문자를 그 자체로 유지합니다.
NFKD는 문자열을 분석하기 편한 형식으로 정규화합니다.
결국, Normalizer::normalize 함수의 'form' 매개변수는 문자열을 정규화하는 데 사용되는 형식을 지정하는 데 사용됩니다. NFC는 읽기 편한 형식으로, NFD는 분석하기 편한 형식으로, NFKC와 NFKD는 읽기/분석하기 편한 형식으로 정규화합니다.
2025-08-05 22:08