CS/운영체제

0과 1을 문자로 표현하는 방법

Ski_ 2025. 7. 14. 01:32

유튜브에 공개된 『혼자 공부하는 컴퓨터 구조+운영체제』 강의를 보고 정리한 내용입니다.

 

출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제


문자 집합과 인코딩

문자 집합(character set)

  • 컴퓨터가 이해할 수 있는 문자의 모음

인코딩(encoding)

  • 코드화하는 과정
  • 문자를 0과 1로 이루어진 문자 코드로 변환하느 ㄴ과정

디코딩(decoding)

  • 코드를 해석하는 과정
  • 0과 1로 표현된 문자 코드를 문자를 변환하는 과정

아스키 코드

  • 초창기 문자 집합 중 하나
  • 알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자
  • 7비트로 하나의 문자 표현
    • 실제로 8비트를 사용 : 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)
  • 7비트로 문자를 포현하므로 127번까지 존재
  • 문자 A는 65, a는 97
  • 특징
    • 간단한 인코딩
    • 한글을 포함한 다른 언어 문자, 다양한 특수 문자 표현 불가
      • 아스키 코드는 7비트로 하나의 문자를 표현하기에 128개보다 많은 문자 표현 x
      • 8비트 확장 아스키(extended ASCII)의 등장, 여전히 부족

한글 인코딩

완성형 vs 조합형 인코딩

한글을 위한 인코딩이 필요

 

 

  • 영어는 알파벳을 이어 쓰면 단어가 되지만
  • 한글은 초성, 중성, 종성의 조합으로 이루어짐
  • 완성형 인코딩 방식과 조합형 인코딩 방식이 존재

 

 

EUC-KR

완성형 인코딩 방식

글자 하나에 2바이트 크기의 코드 부여

  • 2바이트 == 16비트 == 4자리 16진수로 표현

2300여개의 한글 표현 가능 → 여전히 모든 한글을 표현하기엔 부족함

→ 모든 언어, 특수문자까지 통일된 문자 집합을 사용하면 어떨까?

통일된 문자 집합 & 인코딩 방식이 있다면?

utf-8

- 유니코드

  • 통일된 문자 집합
  • 한글, 영어, 화살표와 같은 특수 문자 + 이모티콘
  • 현대 문자 표현에 있어 매우 중요한 위치
  • 인코딩 방식
    • utf-8, utf-16, utf-32..
  • 가변 길이 인코딩
    • 인코딩 결과가 1바이트 ~ 4바이트
  • 인코딩 결과값의 크기는 유니코드에 부여된 값에 따라 다름

출처 : 유튜브 - 혼자 공부하는 컴퓨터 구조+운영체제

반응형