Cheat Sheet
- 문자 집합: 컴퓨터가 인식할 수 있는 문자의 모음
- 문자 인코딩: 문자 → 0과 1로 변환
- 문자 디코딩: 0과 1 → 문자로 변환
- 아스키 코드 (ASCII): 초창기 문자 집합, 7비트로 하나의 문자 표현 → 최대 128개의 문자 표현
- EUC-KR: 한글 인코딩하는 완성형 인코딩 방식, 글자 하나에 2바이트 부여 → 4자리 십육진수로 표현
- 완성형 (강) vs. 조합형(ㄱ+ㅏ+ㅇ) 인코딩 방식
- 유니코드: 여러 나라의 문자들을 표현할 수 있는 표준 문자 집합, 다양한 인코딩 방식 사용
- 대표적으로 UTF-8: 1바이트~4바이트까지 가변 길이의 인코딩 방식
문자 집합과 인코딩
- 문자 집합: 컴퓨터나 인식할 수 있는 문자의 모음
- 문자 인코딩: 문자를 0과 1로 변환
- 사람이 이해할 수 있는 문자를 0과 1로 이루어진 문자 코드로 변환
- 문자 디코딩: 0와 1을 문자로 변환
아스키 코드 (ASCII)
- 아스키는 초장기 문자 집합 중 하나
- 영어 알파벳과 아라비아 숫자, 일부 특수 문자를 포함함
- `Backspace`, `Space` 같은 제어 문자도 포함됨
- 아스키 문자는 7비트로 하나의 문자를 표현 → 최대 128개의 문자 표현
- 실제로는 8비트를 사용하지만, 8비트 중 1비트는 패리티 비트(Parity Bit)로, 오류 검출을 위해 사용됨
- 아스키 문자는 아스키 코드로 인코딩됨
- 아스키 코드: 아스키 문자에 일대일로 대응되는 고유한 수
- 128개보다 많은 문자를 표현하기 위해 8비트의 확장 아스키(Extended ASCII)가 등장하기도 했지만 표현 가능한 문자의 수가 여전히 턱없이 부족함
- American Standard Code for Information Interchange
EUC-KR
- EUC-KR은 완성형 인코딩 방식
- 완성형 인코딩: 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여 (예: 강, 민, 철)
- 조합형 인코딩: 초성, 중성, 종성에 해당하는 코드를 조합하여 하나의 글자 코드를 완성 (예: ㄱ+ㅏ+ㅇ)
- 글자 하나에 2바이트 크기의 코드를 부여 → 16비트 → 4자리 십육진수로 표현됨
- 모든 한글을 표현할 수 없고 (예: 쀍), 언어별로 인코딩 방식을 다르게 해야 하는 문제 발생
유니코드 (Unicode)
- 유니코드는 여러 나라의 문자들을 광범위하게 표현할 수 있는 표준 문자 집합 → 가장 많이 사용
- U+는 십육진수로 유니코드를 표현할 때 사용하는 표기 방법
- 유니코드는 아스키 코드나 EUC-KR처럼 글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고, 이 값을 다양한 방법으로 인코딩함
- 유니코드 문자에 부여된 값을 인코딩하는 방식: UTF-8, UTF-16, UTF-32
- Unicode Transformation Format
UTF-8
- 가장 대중적인 인코딩 방식
- 1바이트~4바이트까지 가변 길이의 인코딩 결과를 만들어 냄
- UTF-8로 인코딩한 결과가 몇 바이트가 될지는 유니코드 문자에 부여된 값의 범위에 따라 결정됨
출처: [2-2] 0과 1로 문자를 표현하는 방법
혼자 공부하는 컴퓨터 구조+운영체제 - 예스24
혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서이 책은 독학으로 컴퓨터 구조와 운영체제를 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지
www.yes24.com