[컴퓨터 구조] 0과 1로 문자를 표현하는 방법
컴퓨터는 0
과 1
로 다양한 문자를 표현할 수 있음
용어
문자 집합(character set)
- 컴퓨터가 인식하고 표현할 수 있는
문자 모음
- 컴퓨터는 문자 집합에 속해 있는 문자는 이해할 수 있고, 그렇지 않은 문자는 이해할 수 없음
- 문자 집합에 속해 있어도
인코딩
을 하지 않으면 컴퓨터가 이해할 수 없음
문자 인코딩(character encoding)
문자
를0
과1
로 변환하는 과정- 같은 문자 집합에 대해서도 다양한 인코딩 방법이 있음
문자 디코딩(character decoding)
0
과1
로 이루어진 문자 코드를문자
로 변환하는 과정- 인코딩의 반대 과정
문자 집합
아스키 코드(ASCII)
영어 알파벳
과아라비아 숫자
, 그리고일부 특수 문자
를 포함7비트
로 표현할 수 있음 (27 = 128개의 문자 표현 가능)- 실제로는 하나의 아스키 문자를 나타내기 위해
8비트
를 사용하지만 그 중1비트
는 오류 검출을 위해 사용되는 비트(패리티 비트)
이기 때문에 표현을 위해 사용되는 비트는7비트
유니코드(Unicode)
- 전 세계의 문자를 일관되게 표현할 수 있도록 설계된 표준 문자 집합
- 가장 많이 사용됨
2바이트
(216)로 문자 표현- 다양한 방법으로 인코딩 -
UTF-8
,UTF-16
,UTF-32
등
인코딩
한글은 일반적인 언어와 달리 초성
, 중성
, 종성
의 조합으로 이루어져 있습니다.
그래서 한글 인코딩에는 두가지 방식이 존재합니다.
- 완성형 인코딩
- 초성, 중성, 종성의 조합으로 이루어진
하나의 글자
에 고유한 코드를 부여하는 인코딩 방식
- 초성, 중성, 종성의 조합으로 이루어진
- 조합형 인코딩
- 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의
조합
으로 하나의 글자 코드를 완성하는 인코딩 방식
- 초성을 위한 비트열, 중성을 위한 비트열, 종성을 위한 비트열을 할당하여 그것들의
EUC-KR
- 대표적인
완성형 인코딩
방식 KS X 1001
,KS X 1003
이라는 문자 집합 기반- 초성, 중성, 종성이
결합
된 한글 단어에 2바이트 크기의 코드 부여 - 약
2,350
개 정도의 한글 단어 표현 가능 - 문자 집합에 정의되지 않은 글자는 표현할 수 없음
(한글 깨짐 현상)
UTF-8
유니코드
를 인코딩하는 방식 중 하나- 가장 많이 사용되는
가변 길이
유니코드 인코딩 - 인코딩 한 값의 결과는 1바이트 ~ 4바이트가 될 수 있다
(값의 범위에 따라 결정)
- 1바이트 영역(0~127)은 아스키 코드와 하위 호환성을 가짐
- 한글 대부분은 크기가 3바이트
댓글남기기