한글 코드한글 코드
한글 코드한글 코드

한글 코드

완성형
  • KSX 1001-1987 (구 KSC-5601-1987)
  • 완성된 글자에 코드 부여
  • 기억공간
    • 1바이트: 영문, 숫자, 구둣점 등
    • 2바이트: 한글, 한자, 전각 특수기호 등
  • 특징
    • 국제 표준 코드 준수
    • ISO-2022 부호 확장법
    • 2바이트 완성형 정보 교환 코드
    • 정보 교환 시 코드간 충돌 없음
    • 융통성 없음
    • 기억공간 많이 차지
조합형
  • KSX 1001-1992 (구 KSC-5601-1992)
  • 한글의 초/중/종성에 코드 부여
  • 기억공간
    • 1바이트: 영문, 숫자, 구둣점 등
    • 2바이트: 한글, 한자, 전각 특수기호 등
  • 특징
    • 코드를 조합하여 문자 표현
    • 현대 한글 완전 표현: 11,172자
    • 2바이트 조합형 정보 처리 코드
    • 정보 교환 시 코드 간 충돌 발생
    • 융통성 있음
    • 기억공간 적게 차지
  • 코드 구성
    • b15: 한글/특수문자 = 1
    • b10~14: 초성
    • b5~9: 중성
    • b0~4: 종성
유니코드
  • KSX 1005-1 (구 KSC-5700)
  • 고정된 코드 공간에 문자 할당
  • UCS 표준: Unicode 2.0
  • 기억공간
    • UTF-16: 2바이트, 모든 문자
    • UTF-8
      • 1바이트: 영문, 숫자, 구둣점 등
      • 2바이트: 한글, 한자, 전각 특수기호 등
  • 특징
    • 현대한글 11,172자 표현
    • 한글을 가나다 순으로 코드테이블 할당
    • 다국어 지원
    • 외국의 문자셋과 혼용 가능
    • 한자는 한/중/일 공통으로 지원
    • 외국 S/W의 한글화 용이
    • 국산 S/W의 다국어 지원
    • UTF-16의 경우 기억공간 많이 차지
  • 코드 구성
    • 한글 시작: 44032 (0xAC00)
    • 한글 끝: 55203 (0xD7A3)
    • 초중성 구하기
      • int first = ( ch - 0xAC00 ) / ( 21 * 28 ); int second = ( ch - 0xAC00 ) % ( 21 * 28 ) / 28; int third = ( ( ch - 0xAC00 ) % ( 21 * 28 ) ) % 28;