본문 바로가기

운동하는 개발자/Windows

CP949 , ANSI , EUC-KR 차이점과 특징

728x90

Visual Studio를 사용하여 Windows 응용프로그램을 만드는 사람은 저 인코딩 타입을 다 들어봤을 것이다.
주로 UTF8이냐 EUC-KR이냐 이 둘 중 하나였기에 대충 알고 있다가 최근 갑자기 궁금하여 검색해 보며 내용을 정리해 보았다


1. CP949

  • CP949는 Microsoft가 한글 지원을 위해 만든 문자 인코딩 방식입니다.
  • EUC-KR을 기반으로 하되, 확장 문자를 포함합니다. EUC-KR에 포함되지 않는 한글(특히 현대 한글 조합식으로 표현할 수 있는 모든 글자)을 추가하여 더 많은 문자를 표현할 수 있습니다.
  • 주로 Windows 환경에서 사용되었습니다.
  • 확장 EUC-KR로도 불리며, EUC-KR보다 더 많은 문자(완성형 한글 및 한자 등)를 지원합니다.

2. ANSI

  • ANSI는 원래 미국 표준협회(ANSI)에서 만든 표준을 지칭하지만, Windows 환경에서는 단순히 시스템의 기본 문자 인코딩을 의미합니다.
  • 한국어 Windows에서는 ANSI가 CP949를 지칭합니다. 즉, "한국어 Windows에서의 ANSI = CP949"로 보면 됩니다.
  • 영어권 시스템에서는 ANSI가 Windows-1252(서유럽 언어 인코딩) 등을 의미할 수 있습니다.
  • ANSI라는 용어는 다소 모호하며, 특정 언어 및 지역 설정에 따라 의미가 달라질 수 있습니다.

3. EUC-KR

  • EUC-KR은 한국어를 표현하기 위해 설계된 문자 인코딩 방식입니다.
  • KSC5601 표준(완성형 한글 코드)을 기반으로 하며, 한글 2350자와 한자 4888자를 지원합니다.
  • 인터넷 표준에서 많이 사용되었으며, 웹, 이메일 등에서 주로 사용되었습니다.
  • CP949에 비해 표현 가능한 문자의 범위가 좁습니다.

차이점

 

특징 CP949 ANSI EUC-KR
표현 문자 범위 EUC-KR + 확장 문자 지역 및 OS에 따라 다름 KSC5601 문자만 지원
표준화 여부 Microsoft 독자 확장 특정 표준 아님 표준화된 인코딩 방식
사용 환경 주로 Windows OS 및 설정에 따라 다름 인터넷 표준, 레거시 시스템
호환성 EUC-KR과 호환 가능 설정에 따라 다름 일부 환경에서 제한적

 


개인적으론 Ansi가 EUC-KR과 동일한 줄 알았다.. 물론 어느 정도는 맞는 말이지만 그건 국내에서만 해당된다는 것

혹은 영어 OS를 사용하는 사람이라면 언어 셋에 따라서 다를 수 있다는 것 

되게 중요한 건 아니지만 알고 넘어가기로~

728x90