본문으로 건너뛰기

유니코드 정규화

Unicode Normaliser

NFC·NFD·NFKC·NFKD를 적용합니다. 맥에서 온 한글이 눈으로는 같은데 검색되지 않을 때 쓰는 도구입니다.

텍스트를 유니코드 정규화 네 형태 사이에서 바꾸고, 각 형태가 무엇을 바꾸는지 코드포인트와 바이트로 보여 줍니다. 실무에서 걸리는 것은 한글입니다. 맥에서 친 이름은 조합형으로 저장되어 윈도우에서 친 같은 이름과 비교하면 다른 값이고, 검색이나 VLOOKUP이 아무것도 못 찾는 이유가 그것입니다.

🔒 브라우저 안에서만 처리unicodenormalizenfckorean

원문

형태

조합된 형태. 웹·윈도우·거의 모든 데이터베이스가 기대하는 형태입니다. 여기서 시작하세요.

이 탭 밖으로 나가지 않습니다. 입력할 때마다 정규화하며, 네 형태를 함께 계산해 비교할 수 있게 합니다.

분리된 한글 자모가 6개 있습니다.

macOS 파일명 형태입니다. 화면에는 멀쩡한 한글로 보이지만 윈도우에서 입력한 같은 글자와 비교하면 다른 값이라, 검색이나 VLOOKUP이 아무것도 못 찾습니다. NFC가 음절을 다시 붙여 줍니다.

NFC 결과

네 형태 비교

형태바뀌는지코드포인트UTF-8 바이트되돌릴 수 있는지
NFC예 — 0번째 코드포인트부터2246예
NFD예 — 7번째 코드포인트부터3789예
NFKC예 — 0번째 코드포인트부터2444아니요
NFKD예 — 7번째 코드포인트부터4090아니요

실무에서 중요한 것은 바이트 열입니다. 분해된 한글은 음절당 UTF-8 9바이트, 조합된 한글은 3바이트입니다. 같은 이름이 어떤 기기에서는 길이 검사를 통과하고 다른 기기에서는 걸리는 이유가 이것입니다.

NFC가 바꾼 것

  • 0번째한글한글코드포인트 6 → 2

사용 방법

  1. 일치하지 않는 텍스트를 붙여 넣습니다

    분리된 한글 자모가 있으면 다른 무엇보다 먼저 개수와 함께 경고가 뜹니다.

  2. 특별한 이유가 없으면 NFC를 씁니다

    NFC는 웹·윈도우·거의 모든 데이터베이스가 기대하는 조합된 형태입니다. NFD는 macOS가 파일명을 저장하는 형태이고, NFKC는 표시용이 아니라 검색 키입니다.

  3. 정하기 전에 네 형태를 비교합니다

    어떤 형태가 텍스트를 실제로 바꾸는지, 코드포인트와 UTF-8 바이트가 얼마나 드는지, 되돌릴 수 있는지를 표로 보여 줍니다.

자주 묻는 질문

엑셀에서 한글 이름이 왜 일치하지 않나요?

한쪽은 조합형, 다른 쪽은 완성형이기 때문입니다. 화면에는 똑같이 보이지만 바이트 열이 달라서 정확히 일치하는 조회가 실패합니다. 양쪽을 NFC로 정규화하면 일치합니다.

NFKC를 아무 데나 써도 되나요?

아닙니다. 한 방향입니다. ㈜는 (주)가, ①은 1이, A는 A가 되고 어느 것도 되돌릴 수 없습니다. 저장하고 보여 줄 텍스트가 아니라 검색 키나 비교에 쓰세요.

NFC가 ㄱ과 ㅏ를 가로 합쳐 주나요?

아니요. 그것들은 호환 자모, 즉 자판 표에 있는 낱개 글자이고, 음절을 이루는 조합용 자모와는 다른 별개의 문자입니다. NFKC만이 조합용 블록으로 옮기며 손을 댑니다.

바이트 수가 왜 중요한가요?

조합형 한글은 음절당 UTF-8 9바이트, 완성형은 3바이트입니다. 눈에 보이는 차이 없이, 같은 이름이 어떤 기기에서는 길이 검사를 통과하고 다른 기기에서는 걸리는 이유가 이것입니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.