AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

왜 이 문자가 여기 있는가?

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

Unicode 인코딩 문제 해결을 위한 개발자, 소프트웨어 엔지니어, 특히 한글 처리 관련 작업자

핵심 요약

  • 한글은 Unicode의 BMP 범위(U+AC00~U+D7A3)에서 11,172개의 자음/모음 조합으로 정의됨
  • 분해형(Decomposed) 한글(예: '하' = ㅎ + ㅏ)은 Windows 같은 시스템에서 깨짐 현상을 유발할 수 있음
  • 한글 정렬 기준은 1988년 한국 교육부 공문에서 확정, 북한과는 초성/종성 순서가 다름

섹션별 세부 요약

1. Unicode 구조와 한글 범위

  • Basic Multilingual Plane (BMP): 16비트 공간, U+0000~U+FFFF 범위
  • 한글은 BMP의 AC~D7 영역(U+AC00~U+D7A3)에 위치
  • 19개 초성 + 21개 중성 + 28개 종성 조합으로 11,172개 한글 자음/모음 생성

2. 분해형 vs 조합형 한글

  • 분해형(예: '한' = ㅎ + ㅏ + ㄴ)은 macOS에서 파일명에 사용됨
  • 조합형(예: '한')은 Windows에서 제대로 표시되지 않음
  • JavaScript substring()은 분해형 문자를 잘못 인식하여 '하'만 추출할 수 있음

3. 한글 정렬 기준

  • 1988년 교육부 기준: 1988년 이후 표준 KS X 1026-1에 반영
  • 북한 기준: 이중자음은 끝에 배치, ㅇ(이응)도 끝에 배치
  • Unicode Consortium은 북한의 1999년 개정안을 채택하지 않음

4. 한글 입력 도구와 오류

  • 세벌식 키보드: 초/중/종성을 분리 입력 가능, 오타 감소
  • 듀벌식 키보드: 입력 타이밍에 따라 초/종성 구분, '옷이 ㅇ벗어요' 같은 오류 발생 가능

결론

  • 분해형 Unicode 문자(예: NFD) 사용 시 Windows와 macOS 간 호환성 문제 발생 가능
  • 한글 처리 시 Unicode 범위(U+AC00~U+D7A3)와 정렬 기준(KS X 1026-1)을 반드시 고려해야 함
  • 세벌식 키보드 사용을 통해 한글 입력 오류를 최소화할 수 있음