본문 바로가기
뭉성님을 위한 스마트교육/디지털 심화

[컴퓨터] 문자집합과 인코딩

by 열공노년 2024. 6. 18.
반응형

문자집합과 인코딩

문자집합과 인코딩은 컴퓨터가 문자를 처리하고 저장하는 방식에서 중요한 역할을 합니다. 한글을 중심으로, 주요 문자집합과 인코딩 방식을 설명드리겠습니다.

1. ASCII (American Standard Code for Information Interchange)

  • 문자집합: ASCII는 주로 영어 알파벳, 숫자, 특수 문자를 포함하는 128개의 문자로 구성된 문자집합입니다.
  • 인코딩: 각 문자는 7비트로 표현되며, 이는 0부터 127까지의 값을 가집니다. 예를 들어, 'A'는 65, 'a'는 97로 인코딩 됩니다.
  • 한글: ASCII는 한글을 포함하지 않으며, 기본적으로 영어와 일부 특수 문자만 지원합니다.

아스키 코드 일람표

2. EUC-KR (Extended Unix Code for Korean)

  • 문자집합: EUC-KR은 한글을 표현하기 위해 만들어진 문자집합입니다. 기본적으로 KS X 1001 (이전에는 KS C 5601로 알려짐) 표준을 따릅니다.
  • 인코딩: EUC-KR 인코딩에서는 한글 한 글자를 2바이트로 표현합니다. 첫 바이트는 0xA1-0xFE 범위에 있으며, 두 번째 바이트는 0xA1-0xFE 범위에 있습니다. 예를 들어, '가'는 0xB0A1로 인코딩 됩니다.
  • 특징: EUC-KR은 한글 표현을 위해 널리 사용되었으나, 현대적인 인코딩 방식에 비해 제한적입니다.

3. CP949 (Code Page 949)

  • 문자집합: CP949는 Microsoft가 만든 확장 문자집합으로, KS X 1001에 추가로 더 많은 한글 음절을 포함합니다.
  • 인코딩: EUC-KR과 비슷하게 2바이트로 한글을 표현하지만, EUC-KR에 포함되지 않은 문자도 지원합니다. 이는 KS X 1001 외에 KS X 1002와 일부 사용자 정의 문자를 포함합니다.
  • 특징: CP949는 한글을 포함한 다양한 문자를 지원하기 위해 EUC-KR보다 확장되었습니다. 이는 Windows 환경에서 한글을 표현하는 데 많이 사용되었습니다.

4. Unicode (유니코드)

  • 문자집합: 유니코드는 전 세계의 모든 문자를 포함하는 포괄적인 문자집합입니다. 한글, 한자, 라틴 문자 등 다양한 문자를 포함합니다.
  • 인코딩: 유니코드는 여러 가지 인코딩 방식이 있으며, UTF-8, UTF-16, UTF-32 등이 있습니다.
    • UTF-8: 가변 길이 인코딩으로, 한글 한 글자는 3바이트로 인코딩 됩니다. 예를 들어, '가'는 0xEAB080로 인코딩됩니다.
    • UTF-16: 한글 한 글자는 보통 2바이트로 인코딩 됩니다. 예를 들어, '가'는 0xAC00로 인코딩됩니다.
    • UTF-32: 모든 문자를 4바이트로 인코딩합니다. 예를 들어, '가'는 0x0000AC00로 인코딩 됩니다.
  • 특징: 유니코드는 전 세계 모든 문자를 표준화하여 호환성을 높이고, 다양한 언어를 동시에 사용할 수 있도록 합니다. 이는 현대 소프트웨어와 웹 개발에서 표준으로 자리 잡았습니다.

정리

  • ASCII는 주로 영어와 기본 특수 문자만 지원합니다.
  • EUC-KR은 한글을 표현하기 위해 만들어졌으며, 2바이트 인코딩을 사용합니다.
  • CP949는 EUC-KR을 확장하여 더 많은 한글 문자를 지원합니다.
  • 유니코드는 전 세계의 모든 문자를 지원하는 포괄적인 표준으로, UTF-8, UTF-16, UTF-32 등의 인코딩 방식을 사용하여 다양한 문자를 표현합니다.

이러한 문자집합과 인코딩 방식은 컴퓨터가 문자를 처리하고 저장하는 방법에 큰 영향을 미치며, 특히 다국어 지원과 호환성 문제를 해결하는 데 중요한 역할을 합니다.

반응형