도구로 건너뛰기

도구

한글 NFC·NFD와 자모

같은 글자로 보여도 코드 포인트가 다를 수 있습니다. 이 페이지는 String.normalize 결과와 음절·조합형 자모·호환 자모 개수만 적습니다.

정규화는 브라우저에서만 합니다. 붙여 넣은 글은 기어델로 가지 않습니다.

숫자가 뜻하는 것

NFC와 NFD는 이 브라우저의 String.normalize입니다. NFC는 유니코드가 합치라고 한 한글 자모를 음절로 합칩니다. NFD는 음절을 자모로 나눕니다.

NFKC/NFKD는 호환 문자도 접습니다. 호환 자모(U+3130–U+318F)는 옛 인코딩이나 일부 입력기에서 나오며, NFKC에서 달라질 수 있습니다.

음절 수는 완성형 한글(U+AC00–U+D7A3)입니다. 조합형 자모는 U+1100–U+11FF, U+A960–U+A97F, U+D7B0–U+D7FF입니다. 호환 자모는 따로 셉니다.

그래핌은 브라우저에 Intl.Segmenter가 있으면 셉니다. 완성형 음절은 그래핌 하나이고, 자모 여러 개로 보이는 음절도 세그먼터가 하나로 보면 하나입니다.

코드 포인트 덤프는 읽기 쉽게 80글자까지만 적습니다. 개수는 붙여 넣은 전체, 최대 20만 코드 포인트입니다.

하지 않는 일

  • 파일이 macOS에서 왔는지는 짐작하지 않습니다. NFD가 흔한 환경이지만, 여기 숫자는 지금 붙여 넣은 글뿐입니다.
  • 형태소 분석이나 맞춤법 검사는 없습니다.
  • EUC-KR 인코딩은 하지 않습니다. 바이트가 필요하면 글자 수 페이지를 씁니다.

정규화

코드 포인트
0
그래핌
0
완성형 음절
0
조합형 자모
0
호환 자모
0
이미 NFC / NFD
NFC · NFD
보여줄 형식

자주 나오는 질문

“가”가 코드 포인트 세 개가 되는 이유는?

NFD는 U+AC00을 초성·중성·(있으면) 종성 자모로 나눕니다. NFC는 정규 서열이면 다시 음절 하나로 합칩니다.

호환 자모가 뭔가요?

U+3130–U+318F입니다. 보기에는 글자 같지만 NFD 음절 안의 조합형 자모가 아닙니다. NFKC가 옮길 수 있고, 이 페이지는 차이를 숨기지 않고 둘 다 보여 줍니다.

Python unicodedata.normalize와 같나요?

NFC/NFD/NFKC/NFKD 형식은 같습니다. 덤프와 자모 칸은 이 페이지가 코드 포인트를 나눈 것이고, Python API가 아닙니다.

기어델에서 이어서

과제로 데이터셋 고르기 →

한국어 지시문·학습 모음 →

Alpaca·ShareGPT·messages →

평가셋과 학습 데이터 →

브라우저 도구 모음 →