1. 0과 1를 문자로 표현하는 방법
(1) 문자 집합과 인코딩
- 0과 1를 표현하는 방법을 알아보기 위해 반드시 알아야 할 3가지는 문자집합, 인코딩, 디코딩.
- 문자집합: 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
- 예: 문자 집합 {a,b,c,d,e}인 경우 이 다섯개 문자만 이해할 수 있고 f,g는 이해할 수 없음.
- 문자를 0과 1로 변환하는 과정을 인코딩이라고 함.
- 인코딩을 하면 0과 1로 이루어질 수 있는 결괏값이 문자 코드가 된다
- 0과 1를 문자로 변환하는 과정을 디코딩이라고 함.
(2) 아스키 코드

- 영어 알파벳과 아라비아숫자 그리고 일부 특수문자가 포함.
- 아스키 코드 문자집합에 속한 숫자들은 각각 7비트.
- 0부터 127까지 128개의 숫자 중 하나의 고유한 수가 1:1 대응
- 예: 'A'는 십진수 65, 이진수 1000001(2)로 인코딩.
- 아스키 코드는 간단하게 인코딩이 가능하다 하지만, 한글을 표현할 수 없다.
- 다양한 문자를 표현하기 위해서 1비트를 추가한 확장 아스키 코드가 있지만 사용되지 않는다.
(3) EUC-KR
- 한글 인코딩을 이해하려면 한글의 특수성을 알아아 함.
- 한글 인코딩은 완성형 인코딩, 조합형 인코딩이 있다.

1) 완성형 인코딩
- 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩
2) 조합형 인코딩
- 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의 조합으로 하나의 글자코드를 완성
- EUC-KR은 완성형 인코딩 방식이며 초성, 중성, 종성이 모두 결합된 한글 단어에 2바이트 크기의 코드를 부여함
- EUC-KR을 사용하면 한글이 깨지는 우려가 발생함.
- 이것을 조금이나마 해결하기 위해 등장한 것이 CP949(Code Page 949)
- CP949는 EUC-KR의 확장버전으로 다양한 문자를 표현할 수 있지만 한글 전체를 표현하기에 부적합.
(4) 유니코드와 UTF-8
- 유니코드: EUC-KR보다 더 다양한 한글을 포함하며 대부분 나라의 문자, 기호, 특수문자, 이모티콘까지 코드로 표현할 수 있다.
- UTF-8 : 인코딩 결과값에 따라 1바이트에서 4바이트까지의 범위가 될 수 있다.