일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 배포 프로세스
- Buffered channel
- goland
- go
- gitops
- http 413
- 대규모 시스템 설계
- Intellij
- AWS
- Helm V3
- 컴포지트패턴
- 배포 파이프라인
- GoF
- intellij ide
- Kubernetes
- Infra
- golang
- GoF 디자인패턴
- Bastion Server
- Golines
- apollo router
- AWS Infra
- UnBuffered channel
- 윈도우키보드
- Logrus
- System Design
- tenneling
- body size
- 디자인패턴
- notification system
- Today
- Total
Fall in IT.
한글 인코딩, EUC-KR과 UTF-8에 대하여 본문
2진수와 16진수
-
컴퓨터는 모든 데이터와 명령을 2진수(0 or 1)로 처리한다.
-
반도체 기억소자가 켜져 있는 상태 즉, on / off 만 있을 수 있기 때문이다.
-
0 또는 1의 한 자리 2진 수 정보를 저장할 수 있는 단위를 Bit라고 한다.
-
1비트의 저장 공간으로는 두 가지 기호 밖에 나타내지 못하고,
-
8비트 즉, 1바이트로 나타낼 수 있는 기호는 2의 8승(256)개를 나타낼 수 있다.
-
컴퓨터가 사용하는 2진수로 값을 표현하면 자릿수가 읽고 쓰기가 불편하다.
-
그래서 컴퓨터의 값을 표현할 때는 16진수를 많이 쓴다.
인코딩과 디코딩
-
사람들이 쓰는 문자를 컴퓨터에 저장하기 위해서는 2진수로 변환해야 한다.
-
이를 인코딩(encoding)이라고 한다.
-
반대로, 인코딩한 2진수를 사람이 읽기위해 문자로 되돌리는 것을 디코딩(decoding)이라고 한다.
-
그 중 많이 사용되는 방식이 EUC-KR, UTF8이 있다.
EUC-KR
-
한글을 2byte(16bit)로 변환하는 방법이다.
-
문자마다 2byte의 코드값이 정해져있다.
-
아래 표에서 '가'의 행 번호와 열 번호를 조합하면 'B0A1' 이다.
-
'B0A1'은 16진수 4자리로 표현한 2byte 값이고, 실제 컴퓨터에 저장할 때는 2진수로 변환된다.)
-
인코딩에 복잡한 알고리즘은 없고 미리 정해놓은 코드표를 사용하여 표현하는 것이다.
-
EUC-KR 코드표에는 한글 뿐만 아니라 숫자, 특수 기호, 영문, 한문, 일어가 정의되어 있다.
-
그 외에 다른 문자를 사용하는 나라의 언어는 인코딩이 불가능하다.
유니코드와 UTF-8
-
서로 다른 언어를 사용하는 컴퓨터들이 서로 문제없이 통신하도록 노력하여 나온 결과가 유니코드이다.
-
유니코드는 다양한 문자를 모아 놓고 순서대로 번호를 붙여 놓았다.
-
앞에 U+를 붙여 유니코드를 의미한다.
-
유니코드 인코딩 방식에는 대표적으로 UTF-8, UTF-16, UTF-32가 있다.
-
UTF-8은 유니코드 범위에 따라 1~4byte로 인코딩하는 가변 크기 인코딩 방식이다.
-
사용빈도가 높은 글자는 적은 저장 공간을 차지하고 사용빈도가 낮은 글자는 많은 저장 공간을 차지하게 만들어졌다.
-
UTF-32는 모든 문자를 4byte로 표현한다.
-
UTF-16은 사용빈도가 높은 글자는 2byte로 표현하고 낮은 글자는 4byte로 표현한다.
참조
'기타' 카테고리의 다른 글
Mac OS, SSH Client Termius 사용하여 AWS 연결하는 방법 (2) | 2020.01.06 |
---|---|
Visual Studio Code에서 html파일 웹에 실행하는 방법 (0) | 2019.11.18 |
Visual Studio Code를 터미널에서 실행하는 방법 (0) | 2019.06.08 |
Git 저장소 옮기기 (0) | 2019.04.18 |
Xcode Product Archive 활성화 방법 (0) | 2019.04.05 |