AI 보이는 추론 실험실 · 유니코드 정규화

겉보기에 같은 한글을 AI가 다른 문자열로 셀 수 있을까?

완성형 한 글자와 자모 조합은 같은 모양이어도 코드포인트 배열이 다릅니다. 음절을 바꾸며 원문 비교와 NFC 정규화 뒤 비교를 확인합니다.

탐구게시 2026-10-04읽기·실험 약 13분확인 문제 2개교육용 계산한국논리학협회 자체 제작제작·검수 LTCT 편집부

문자 자료실에서 성인 연구자 두 명이 완성형과 자모 조각을 맞추고 작은 공식 갈색 안경 올빼미가 한글 조각을 옮기는 장면
주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

화면에서 똑같이 보이는 두 사용자 이름이 검색과 중복 검사에서는 다르다고 나올 수 있을까요?

겉으로 같은 한글 가가 완성형 U+AC00 한 개와 자모 U+1100·U+1161 두 개 경로에서 NFC 정규화를 거쳐 같은 문자열이 되는 관계 그림입니다.
겉으로 같은 한글 가가 완성형 U+AC00 한 개와 자모 U+1100·U+1161 두 개 경로에서 NFC 정규화를 거쳐 같은 문자열이 되는 관계 그림입니다. · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

한 모양을 여러 코드 배열로 표현할 수 있습니다

‘가’는 완성형 코드포인트 U+AC00 하나로도, 초성 ᄀ(U+1100)과 중성 ᅡ(U+1161)의 조합으로도 표현할 수 있습니다. 글꼴은 두 배열을 같은 음절처럼 그릴 수 있습니다.

프로그램이 코드 단위로만 비교하면 두 문자열은 다릅니다. 글자 수, 검색, 파일명 중복 검사도 예상과 달라질 수 있습니다.

02

NFC는 정준 등가 표현을 일관된 형태로 모읍니다

유니코드 정규화 형식 NFC는 가능한 정준 분해 뒤 다시 조합해 대표 형태를 만듭니다. 두 ‘가’를 각각 NFC로 바꾸면 같은 U+AC00이 됩니다.

참고 · Unicode Consortium — 유니코드 정규화 형식 ↗

03

정규화는 유사 글자와 의미 차이를 모두 해결하지 않습니다

한글 ㅇ과 숫자 0처럼 모양만 비슷하고 정준 등가가 아닌 문자는 NFC로 같아지지 않습니다. 사용자 식별자에는 스크립트 제한, 대소문자 규칙, 원문 보존 정책이 더 필요합니다.

저장 전 정규화할지, 검색할 때만 정규화할지 정하고 원문을 잃어도 되는지 확인해야 합니다.

직접 확인하기 · 교육용 계산

한글 음절을 바꾸며 코드포인트와 NFC 비교하기

왼쪽은 완성형 음절, 오른쪽은 현대 한글 자모의 분해 표현입니다. 원문 그대로(===)와 NFC 정규화 뒤 비교를 함께 보여 줍니다. 보안상 모든 유사 문자 문제를 해결하는 도구는 아닙니다.

완성형 화면가
완성형 코드U+AC00
자모 조합 화면가
자모 코드U+1100 + U+1161
원문 그대로다름
NFC 뒤같음
겉모양은 같지만 정규화 전 코드 배열은 다릅니다.

NFC는 정준 등가 표현을 통일하지만, 모양만 비슷한 다른 문자까지 같게 만들지는 않습니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1완성형 ‘가’와 자모 조합 ‘가’를 원문 그대로 비교한 결과는?
2NFC 정규화 뒤에도 해결되지 않는 문제는?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

0 / 4,000자

메모는 현재 기기의 브라우저에만 보관됩니다. 계정이나 다른 기기에는 동기화되지 않습니다.

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. 유니코드 정규화 형식 ↗Unicode ConsortiumUnicode Standard Annex #15: Unicode Normalization Forms, Version 18.0.0

    2026-08-12판에서 정규화 형식과 정준 등가, 한글의 조합·분해 처리를 확인했습니다. 활동은 브라우저 String.normalize의 NFC 결과를 사용합니다.