Fall in IT.

한글 인코딩, EUC-KR과 UTF-8에 대하여 본문

기타

한글 인코딩, EUC-KR과 UTF-8에 대하여

D.Y 2019. 9. 6. 16:38

2진수와 16진수

  • 컴퓨터는 모든 데이터와 명령을 2진수(0 or 1)로 처리한다.

  • 반도체 기억소자가 켜져 있는 상태 즉, on / off 만 있을 수 있기 때문이다.

  • 0 또는 1의 한 자리 2진 수 정보를 저장할 수 있는 단위를 Bit라고 한다.

  • 1비트의 저장 공간으로는 두 가지 기호 밖에 나타내지 못하고,

  • 8비트 즉, 1바이트로 나타낼 수 있는 기호는 2의 8승(256)개를 나타낼 수 있다.

  • 컴퓨터가 사용하는 2진수로 값을 표현하면 자릿수가 읽고 쓰기가 불편하다.

  • 그래서 컴퓨터의 값을 표현할 때는 16진수를 많이 쓴다.

 

인코딩과 디코딩

  • 사람들이 쓰는 문자를 컴퓨터에 저장하기 위해서는 2진수로 변환해야 한다.

  • 이를 인코딩(encoding)이라고 한다.

  • 반대로, 인코딩한 2진수를 사람이 읽기위해 문자로 되돌리는 것을 디코딩(decoding)이라고 한다.

  • 그 중 많이 사용되는 방식이 EUC-KR, UTF8이 있다.

 

EUC-KR

  • 한글을 2byte(16bit)로 변환하는 방법이다.

  • 문자마다 2byte의 코드값이 정해져있다. 

  • 아래 표에서 '가'의 행 번호와 열 번호를 조합하면 'B0A1' 이다. 

  • 'B0A1'은 16진수 4자리로 표현한 2byte 값이고, 실제 컴퓨터에 저장할 때는 2진수로 변환된다.)

  • 인코딩에 복잡한 알고리즘은 없고 미리 정해놓은 코드표를 사용하여 표현하는 것이다.

  • EUC-KR 코드표에는 한글 뿐만 아니라 숫자, 특수 기호, 영문, 한문, 일어가 정의되어 있다.

  • 그 외에 다른 문자를 사용하는 나라의 언어는 인코딩이 불가능하다.

 

유니코드와 UTF-8

  • 서로 다른 언어를 사용하는 컴퓨터들이 서로 문제없이 통신하도록 노력하여 나온 결과가 유니코드이다.

  • 유니코드는 다양한 문자를 모아 놓고 순서대로 번호를 붙여 놓았다.

  • 앞에 U+를 붙여 유니코드를 의미한다.

  • 유니코드 인코딩 방식에는 대표적으로 UTF-8, UTF-16, UTF-32가 있다.

  • UTF-8은 유니코드 범위에 따라 1~4byte로 인코딩하는 가변 크기 인코딩 방식이다.

    • 사용빈도가 높은 글자는 적은 저장 공간을 차지하고 사용빈도가 낮은 글자는 많은 저장 공간을 차지하게 만들어졌다.

  • UTF-32는 모든 문자를 4byte로 표현한다.

  • UTF-16은 사용빈도가 높은 글자는 2byte로 표현하고 낮은 글자는 4byte로 표현한다.

 

 

참조

 

Comments