인코딩 : 문자를 어떻게 출력할지에 대한 약속
숫자를 문자로 바꿈
예를 들어, 메모장에 A라고 친 다음 저장하면 실제로 하드디스크에 기록되는 정보는
65라는 숫자값.
A -> 65라고 저장하도록 만들어놨기 때문에
가장 처음 만들어진 인코딩이 ASCII코드
아스키코드 : 128개의 문자조합을 제공하는 7비트 부호
아스키코드만으로는 각 나라별 언어를 표현할 수 없다. 이를 해결한 코드가 유니코드
알파벳, 숫자, 특수기호, 그 외 컴퓨터에 필요한 몇 가지만이 정의되어 있어서
점차 여러 나라에서 컴퓨터를 사용하게 되고 통신이 발달하다보니 기존의 아스키 인코딩보다
더 많은 문자들을 정의한 새로운 인코딩이 필요해짐
유니코드(Unicode) : 각 나라별 언어를 모두 표현하기 위해 나온 코드 체계가 유니코드
숫자와 글자, 즉 키 값이 1:1로 매핑된 형태의 코드
사용중인 운영체제, 프로그램, 언어에 관계 없이 문자마다 고유한 코드 값을 제공하는 새로운 개념의 코드
16비트를 표현하므로 최대 65,536자 표현 가능
영문/숫자/한글/한자 등 모든 글자는 이론적으로 2바이트
아주 희귀한 문자들은 2바이트를 초과할 수도 있다
UTF-8은 유니코드가 파일에 저장될 때 영문/숫자는 아스키코드와 똑같이 1바이트 사용
한글 등은 3바이트로 파일에 저장
UTF-8 (가변길이 인코딩) : 유니코드를 사용하는 인코딩 방식 중 하나
영문/숫자/기호는 1바이트로, 한글/한자는 3바이트로 표현
전세계 모든 글자들을 한꺼번에 표현할 수 있다
UTF-8 유니코드는 아스키 코드와 영문 영역에서는 100% 호환
만약, UTF-8 유니코드 문서에 한글 등이 전혀 없고 영문과 숫자로 이루어져 있다면 그 카드는 아스키코드와 동일
전 세계의 모든 언어를 하나의 파일에 쓸 수 있다
유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나
유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지 사용
'CS > OS & 하드웨어' 카테고리의 다른 글
아스키코드(ASCII Code) - 컴퓨터의 문자 처리 원리 (0) | 2023.10.08 |
---|---|
프로그래밍 언어와 빌드 과정 [Build Process] (0) | 2023.09.23 |
메모리 (RAM) 구조 (0) | 2023.08.28 |
Virtual Memory - 가상 메모리 ( 필요한 이유 ) (0) | 2023.08.24 |
Memory Allocation (논리 메모리, 물리 메모리, Dynamic Loading, Paging이 나온 이유 ) (0) | 2023.08.24 |