UnicodeNormalize 모듈
UnicodeNormalize 모듈
UnicodeNormalize는 유니코드 문자열의 정규화(Normalization)를 담당하는 내부 모듈이에요. 문자열의 인코딩이 UTF-8일 때 String#unicode_normalize 같은 메서드가 이 모듈의 기능을 사용해요.
본문
공식 문서에서는 이 모듈에 대해 간략하게 "나중에(정규화 구현을) 찾아 쓰기 쉽도록 UnicodeNormalize 모듈을 여기에 정의해 둔다"고만 설명하고 있어요. 즉 이 모듈은 라이브러리 내부에서 유니코드 정규화 로직을 모아 두는 네임스페이스로, 애플리케이션 코드에서 직접 호출할 일은 거의 없어요.
실제 유니코드 정규화가 필요할 때는 문자열의 영역을 벗어나지 않고 다음 메서드를 쓰면 돼요.
String#unicode_normalize— 문자열을 지정한 정규화 형식(NFC, NFD, NFKC, NFKD)으로 변환해요.String#unicode_normalized?— 이미 정규화되어 있는지 확인해요.String#unicode_normalize!— 파괴적 변환 버전이에요.
정규화는 같은 글자를 다르게 인코딩한(예: 'é'를 하나의 코드 포인트로 vs. 'e' + 결합 악센트로) 문자열을 동일하게 맞춰 비교·검색할 때 유용해요.