A) 문자 집합과 B) 인코딩
- 문자 집합(character set) : 컴퓨터가 이해 할 수 있는 문자의 모음
- 인코딩(encoding) : 코드화하는 과정, 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정
- 디코딩(decoding) : 코드를 해석하는 과정, 0과 1로 표현된 문자 코드로 문자로 변환하는 과정
A) 문자집합 : 아스키 코드
- 초창기 문자 집합 중 하나로써 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어문자
- 7비트로 하나의 문자 표현(8비트 중 1비트는 오류 검출을 위해 사용되는 패리트 비트(parity bit) → (표현할 수 있는 문자의 개수는 2의7승 = 128개)
- c.f.) 코드 포인트(code point) == 문자에 부여된 값, A == 65, a == 97
- 간단한 인코딩이라는 장점이 있지만 한글을 포함한 다른 언어 문자, 다양한 특수 표현이 불가능하다.
더보기
- 아스키 코드는 7비트로 하나의 문자를 표현하기에 128개 보다 많은 문자를 표현할 수 없다. 8비트 확장 아스키(extended ASCII)가 등장했지만 여전히 부족하다.
B) 인코딩 : 한글 인코딩 : 완성형 VS 조합형 인코딩
- 한글을 위한 인코딩이 필요함
- 알파벳을 이어쓰면 단어가 되는 영어와 다르게 초성, 중성, 종성의 조합으로 이루어진 한글은 완성형 인코딩 방식과 조합형 인코딩 방식이 존재한다.

B) 인코딩 : EUC-KR
- KS X 1001KS X 1003 문자 집합 기반의 한글 인코딩 방식
- 완성형 인코딩
- 글자 하나 하나에 2바이트 크기의 코드 부여(2바이트 == 16비트 == 4자리 16진수로 표현)
- 2300 여개의 한글 표현이 가능하지만 모든 한글을 표현하기에는 부족한 수이다.(쀏, 뙠, 휔 같은 한글은 표현 불가)
- 다국어를 지원하는 프로그램을 개발할 땐 언어별 인코딩 방식을 모두 이해해야한다. 따라서 불편하고 번거롭다.
더보기
직접 인코딩 해볼 수 있는 사이트 : https://dencode.com/
B) 인코딩 : 유니코드 문자 집합과 utf-8
- 유니코드 : 통일된 문자 집합(한글, 영어, 화살표와 같은 특수문자, 이모티콘까지
- 유니코드의 인코딩 방식 : utf-8, utf-16, utf-32 ···
더보기
유니코드 문자 집합 : https://unicode-table.com/en/blocks/
B) 인코딩 : utf-8
- UTF(Unicode Transformation Format) = 유니코드 인코딩 방법
- 가변길이 인코딩 : 인코딩 결과가 1바이트 ~ 4바이트
- 인코딩 결과가 몇 바이트가 될지는 유니코드에 부여된 값에 따라 다르다.
- 유니코드에 부여된 값 == 유니코드 코드 포인트

더보기
직접 인코딩 해볼 수 있는 사이트 : https://onlineutf8tools.com/convert-utf8-to-binary
출처: 인프런-개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
[CS : 컴퓨터 구조] C 언어의 컴파일 과정 (1) | 2023.10.25 |
---|---|
[CS : 컴퓨터 구조] 03-2 명령어의 구조 (1) | 2023.10.24 |
[CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어 (0) | 2023.10.23 |
[CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법 (0) | 2023.10.19 |
[CS : 컴퓨터 구조] 컴퓨터 구조에 대하여 (1) | 2023.10.18 |