데이터(2)

bebrain·2023년 5월 21일
0

컴퓨터구조

목록 보기
3/8

문자집합과 인코딩/디코딩

문자집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음.

문자 집합에 속한 문자라고 해서 컴퓨터가 바로 이해할 수 있는 것은 아니고 0과 1로 변환하는 작업이 필요한데, 이 변환 과정을 문자 인코딩이라고 한다.

0과 1로 이루어진 코드를 반대로 사람이 이해할 수 있는 문자로 변환하는 과정을 디코딩이라고 한다.

문자 → 0, 1 : 인코딩 (컴퓨터가 읽게)
0, 1 → 문자 : 디코딩 (사람이 읽게)

아스키 코드(ASCII)

  • 초창기 문자집합 중 하나
  • 알파벳, 숫자, 일부 특수문자로 구성
  • 하나의 아스키 문자는 7비트로 표현
    • 실제로는 8비트이나 1비트는 오류검출을 위해 사용(패리티 비트 parity bit)하므로 실질적으로 7비트
    • 총 128개(272^7개)

출처 : http://vip.sejong.ac.kr/dihan/advanced_C/ASCII%20Code%20Table.pdf

한글 인코딩

  1. 완성형 인코딩 : 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여
    ex) EUC-KR (글자당 2byte)

  2. 조합형 인코딩 : 초성, 중성, 종성에 각각 비트열을 부여한 후 조합하여 하나의 글자 코드를 완성

EUC-KR로 총 2,350개 정도의 한글 단어를 표현할 수 있게 되었으나, 여전히 모든 한글을 표현할 수는 없기 때문에 웹사이트에서 글자가 깨진다거나 입력되지 않는 현상이 발생한다는 단점이 있다.

또한 다국어를 지원해야 하는 경우 각 나라의 인코딩 방식을 모두 지원해야 한다.

유니코드

대부분의 문자, 특수문자, 이모티콘까지 아우르는 통일된 문자 집합.

아스키코드나 EUC-KR처럼 글자에 부여된 값 자체를 인코딩 값으로 삼지 않고, 이 값을 다양한 방법으로 인코딩하는데 인코딩 방법에 따라 UTF-8, UTF-16, UTF-32 등으로 나뉜다.

0개의 댓글