본문 바로가기
컴퓨터공학

3.데이터 0과 1로 문자를 표현하는 방법

by 이면지91 2024. 9. 28.

문자 집합과 인코딩

  • 문자 집합 character set : 컴퓨터가 이해할 수 있는 문자의 모음
  • 인코딩 encoding
    - 코드화하는 과정
    - 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정
  • 디코딩 decording
    - 코드를 해석하는 과정
    - 0과 1로 표현된 문자 코드로 문자를 변환하는 과정

 

대중적으로 사용되는 문자 집합 세가지

아스키 ASCII  코드

  • 초창기 문자 집합 중 하나
  • 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자
  • 7비트로 하나의 문자 표현
    8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트 parity bit
    아스키 코드로 표현할 수 있는 총 문자의 개수는 2의 7승계, 128개이다.
  • 문자에 부여된 값들을 그대로 인코딩 값으로 쓰면 되기 때문에 인코딩 방식이 아주 간단하다.
  • 그러나 한글을 포함한 다른 언어 문자, 다양한 특수 문자 표현 불가
    - 128개보다 많은 문자를 표현할 수 없음
    - 8비트 확장 아스키 extended ASCII 의 등장에도 여전히 부족

 

EUC-KR

  • KS X 1001 KS X 1003 문자집합 기반의 한글 인코딩 방식
  • 완성형 인코딩
  • 글자 하나 하나에 2바이트 크기의 코드 부여
    2바이트 == 16비트 == 4자리 십육진수로 표현
  • 2300여개의 한글 표현 가능하지만 모든 한글을 표현하기에는 부족, 쀏, 뙠 같은 한글은 표현 불가능
  • 언어별 인코딩을 국가마다 하게 되면 다국어를 지원하는 프로그램을 개발할 때 비효율적
  • 직접 인코딩해보기 : https://dencode.com/

가는 b0a1로 인코딩 된다.

유니코드 문자 집합과 utf-8

  • 유니코드
    - 통일된 문자 집합
    - 한글, 영어, 화살표와 같은 특수 문자, 심지어 이모티콘까지
    - 현대 문자 표현에 있어 매우 중요한 위치
  • 유니코드의 인코딩 방식
    - utf-8, utf-16, utf-32 ...
  • 유니코드 문자 집합 https://symbl.cc/en/unicode-table/

  • utf-8 인코딩
    Unicode Transformation Format == 유니코드 인코딩 방법
  • 가변 길이 인코딩 인코딩 결과가 1바이트~4바이트
  • 인코딩 결과가 몇 바이트가 될지는 유니코드에 부여된 값에 따라 다름
  • 한 : D55C == 1101 0101 0101 1100
    글 : AE00 == 1010 1110 0000 0000
  • 직접 인코딩 해보기 : https://onlinetools.com/utf8