[컴퓨터 구조] 0과 1로 문자를 표현하는 방법
2023. 3. 8. 23:44ㆍ기술 창고/CS 지식
728x90
반응형
SMALL
문자 집합과 인코딩
- 문자 집합
- 컴퓨터가 이해할 수 있는 문자의 모음
- 인코딩
- 코드화하는 과정
- 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정
- 디코딩
- 코드를 해석하는 과정
- 0과 1로 표현된 문자 코드(인코딩된 문자 코드)를 문자로 변환하는 과정
아스키 코드
- 초창기 문자 집합 중 하나
- 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자
- 7비트로 하나의 문자 표현
- 8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)
- 간단한 인코딩
- 한글을 포함한 다른 언어 문자, 다양한 특수 문자 표현 불가
- 아스키 코드는 7비트로 하나의 문자를 표현하기 때문에 128개(2의 7승(7비트)) 보다 많은 문자를 표현할 수 없다.
- 8비트 확장 아스키 코드 (extended ASCII) 등장했지만 여전히 부족하다.
- 기본적으로 아스키코드는 한글과 같은 다른 언어들을 표현이 불가능하기 때문에 각 국가마다의 인코딩 방식이 따로 정해져있는데 다국어를 지원하는 프로그램을 개발하려면 언어별 인코딩 방식을 모두 이해해야 한다.
완성형 VS 조합형 인코딩 방식
- 완성형 인코딩 방식 : 자음, 모음들이 조합된 한 글자 자체로 코드를 부여하는 방식
- 조합형 인코딩 방식 : 자음, 모음들이 각자 따로따로 코드가 부여되는 방식
EUC-KR
- 완성형 인코딩 방식
- KS X 1001 KS X 1003 문자집합 기반의 한글 인코딩 방식
- 글자 하나 하나에 2바이트 크기의 코드 부여
- 2바이트 == 16비트 == 4자리 16진수 표현
- 2300여개의 한글을 표현 가능
- 모든 한글을 표현하기에는 부족한 수
- 쀏, 뙠 이런 문자는 불가
# EUC-KR 인코딩 체험 사이트 : https://dencode.com/
유니코드 문자 집합과 utf-8
- 유니코드
- 통일된 문자 집합
- 한글, 영어, 화살표와 같은 특수 문자, 심지어 이모티콘까지 표현이 가능하다.
- 현대 문자 표현에 있어 매우 중요한 문자 집합
- 유니코드의 인코딩 방식
- utf-8, utf-16, utf-32 등등
- utf-8 인코딩
- UTF (Unicode Transformation Format) == 유니코드 인코딩 방법
- 가변 길이 인코딩 : 인코딩 결과가 1바이트 ~ 4바이트 등등 가변적이다.
- 인코딩 결과가 몇 바이트가 될지는 유니코드에 부여된 값에 따라 다르다.
- 즉, 유니코드 문자 집합에 있는 각 문자에 부여된 코드 포인터의 범위에 따라 인코딩 결과의 바이트 크기는 달라진다.
# 유니코드 문자 집합 확인 사이트 : https://symbl.cc/en/unicode/blocks/
# 유니코드 utf-8 인코딩 체험 사이트 : https://onlineutf8tools.com/convert-utf8-to-binary
728x90
반응형
LIST
'기술 창고 > CS 지식' 카테고리의 다른 글
[컴퓨터 구조] 명령어의 구조 (0) | 2023.03.10 |
---|---|
[컴퓨터 구조] 소스 코드와 명령어 (0) | 2023.03.09 |
[컴퓨터 구조] 0과 1로 숫자를 표현하는 방법 (0) | 2023.03.08 |
[컴퓨터 구조] 컴퓨터 구조의 큰 그림 (0) | 2023.03.07 |
[컴퓨터 구조] 컴퓨터 구조를 알아야 하는 이유 (0) | 2023.03.07 |