Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
Computer Science/컴퓨터 구조

2. 0과 1로 문자 표현

by Toughie 2023. 7. 6.

📱0과 1로 문자 표현📱

 

문자 집합(Character set)

문자 집합은 컴퓨터가 이해할 수 있는 문자들의 모음을 의미한다.

인코딩(encoding)

코드화 하는 과정을 말한다.

문자 인코딩의 경우, 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정을 말한다.

디코딩(decoding)

코드를 해석하는 과정을 말한다.

0과 1로 표현된 문자 코드를 문자로 변환하는 과정을 말한다.

 

ex. JSON Parsing, Coadable, Encodable, Decodable을 다루면서 했던 인코딩 디코딩

아스키 코드

미국정보교환표준부호, 줄여서 ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩

초창기 문자 집합 중 하나로 알파벳, 아라비아 숫자 및 일부 특수/제어 문자 포함되어 있음.

문자당 8비트지만 정확히는 7비트로 하나의 문자를 표현한다. -> 128가지

1비트는 오류 검출을 위해 필요한 패리티 비트(parity bit)이기 때문이다. 

 

ex. 문자 A는 65로 인코딩 여기서 문자에 부여된 값인 65를 코드 포인트(code point)라고 함.

 

아스키 코드는 영어 기반이기 때문에 다른 외국어, 다양한 특수 문자를 표현하지 못함.

128개보다 많은 문자를 표현할 수 없기 때문. ->유니코드 등장의 배경

한글 인코딩

한글은 초성, 중성, 종성으로 이루어져 있음.

한글 인코딩 방식에는 완성형 인코딩, 조합형 인코딩 방식이 존재함.

완성형 - 김 터 피 -> 김 / 터 / 피가 각각 인코딩 값이 존재함.

조합형 - 김 -> ㄱ, ㅣ , ㅁ이 각각 인코딩 값을 가짐.

 

이렇게 각 언어마다 인코딩 방식이 다른 경우, 다국어 지원이 필요한 프로그램 개발 시

언어별 인코딩 방식을 전부 숙지하고 적용해야 하는 불편함이 존재한다.

유니코드

전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준

한글, 영어, 이모티콘, 특수문자 전부 표현 가능.

유니코드의 인코딩 방식에는 utf-8, utf-16, utf-32 등이 있다. (utf-8이 자주 쓰임)

*utf - unicode transformation format 유니코드 인코딩 방식

 

utf는 가변 길이 인코딩 방식을 사용함.

인코딩 결과가 1바이트에서 4바이트까지 변함.

수많은 문자를 포함하기 떄문에 모든 문자를 고정 길이로 인코딩하는 것은 비효율적이기 때문.

utf-8은 1바이트에서 4바이트까지, utf-16은 2바이트에서 4바이트까지, utf-32는 항상 4바이트 사용

인코딩 결과가 몇 바이트인지는 유니코드에 부여된 값에 따라 다름.

 

 

학습 출처: https://www.youtube.com/watch?v=bls_GjX-4U8&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl 

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

5. ALU와 제어장치  (0) 2023.08.10
4. 명령어의 구조  (0) 2023.07.16
3. 소스코드/명령어  (0) 2023.07.11
1. 0과 1로 숫자 표현  (0) 2023.07.05
0. 컴퓨터 구조 개론  (0) 2023.07.03