텍스트 데이터와 문자 인코딩 데이터
트랜지스터를 통해 0과1의 이진수를 표현가능하다. 꺼지면0 켜지면1
트랜지스터의 모음 - RAM
현대의 컴퓨터 메모리는 RAM은 초당 수십억번의 데이터를 사용가능하다.
1bit를 추가할 때 마다 표현할 수 있는 숫자는 두배가 된다. 2 4 8 16 … (8bit = 1바이트)
8비트 기준 양수라면 0~255, 음수표현이 되어야한다면 -128 ~ 127 까지, 표현은 256가지만 가능하다.
컴퓨터와 문자 인코딩
문자 인코딩: 문자 집합을 통해 문자->숫자 변환
문자 디코딩: 문자 집합을 통해 숫자->문자 변환
ASCII 문자집합
서로다른 컴퓨터 간의 문자집합을 가지면 일관적이지 못하기 때문에 표준을 가지고 호환성 문제를 해결하기 위해 표준 문자집합인 ASCII가 만들어짐
American Standard Code for Information Interchange
ISO_8859_1
서유럽의 문자를 표현하는 집합, ASCII에 서유럽의 문자가 추가된 문자집합
한글 문자 집합 EUC-KR
1980년대에 컴퓨터 사용인구의 증가로 2byte를 사용하여 66536가지를 표현가능하게 만듬
한글은 조합이 아주 많기 때문에 바이트가 큼
ASCII + 한글 2350개 + 한국에서 자주 사용하는 한자 + 일본어
2바이트라서 많이 남기 때문에 많이 추가됨
MS949
EUC-KR을 확장시켜 한글이 표현가능한 11,172가지의 모든 한글을 지원하도록 만들어짐
전 세계 문자집합
한글 문자표를 PC에 설치하지 않거나 다른 나라 문자표를 설치하지 않으면 볼 수 없었다.
하나의 문서의 여러가지 언어를 쓰는 상황이 있을 수 있기 때문에 유니코드가 등장하게 된다.
UTF-8, UTF-16이 이때 생겨나게 되었다.
UTF-16
2바이트 기반의 문자열 표
ASCII와 호환되지 않는 단점때문에 후에 UTF-8로 대체되게 된다.
2바이트 기반이기 때문에 영문이 2바이트 다른 기타문자는 4바이트를 차지하게 되고
결론적으로 영어문서가 100MB라고 가정할 때, UTF-16은 두배가 되어 200MB를 차지하고 메모리 손해
UTF-8
1~4바이트로 가변적인 인코딩이 가능함
ASCII가 호환되기 때문에 1바이트로 표현함
사실상 현대의 표준 인코딩 기술, 대부분의 웹사이트와 애플리케이션에서 기본 인코딩으로 사용
'공부중' 카테고리의 다른 글
[System Design] 서버 확장, 로드밸런서, 그리고 무상태 아키텍처로 성능 최적화를 하는 방법 (0) | 2024.12.16 |
---|---|
[CS] 운영체제의 역할과 목표 (0) | 2024.07.18 |
[Git] Git에 대한 이해와 형상 관리 도구란? (0) | 2024.06.20 |
[CS,코딩테스트] 코딩테스트의 시간 복잡도에 관하여 (0) | 2024.04.22 |
[CS] HTTP 메서드의 속성 및 활용 설계 예시 (0) | 2024.04.12 |