문자 인코딩
문자 인코딩
컴퓨터와 데이터
컴퓨터의 메모리는 트랜지스터라고 불리는 작은 전자 스위치가 모인 반도체로 만들어져 있습니다.
트랜지스터는 전기가 흐르지 않는 것과 흐르는 것을 0과 1로 표현합니다.
1bit: 2가지 표현- 0
- 1
2bit: 4가지 표현- 00, 01
- 10, 11
3bit: 8가지 표현- 000, 001, 010, 011
- 100, 101, 110, 111
1bit가 늘어날 때마다 표현 가능한 숫자는 2배씩 증가합니다.
음수 표현: 처음
1bit를 음수, 양수를 표현하는데 사용합니다.
문자 인코딩
문자는 바로 숫자로 표현할 수 없습니다. 따라서 각 문자에 맞는 숫자를 매핑해 놓았습니다.
ASCII 문자 집합
- 1960년도
7bit사용- 알파벳, 숫자, 특수문자, 스페이스, 엔터와 같은 기본 적인 문자만 표현
ISO_8859_1
- 1980년도
1byte사용- 서유럽 문자 표현
- ASCII 호환
한글 문자 집합
EUC-KR
- 1980년도
- 모든 한글 X. 자주 사용하는 한글 2350개만 포함
2byte사용- ASCII는
1byte, 한글은2byte사용 - ASCII 호환
MS949
- 1990년도
- 모든 한글을 표현
- EUC-KR과 호환
- ASCII 호환
전세계 문자 집합
유니코드
- 1990년도
- 전 세계 모든 문자들을 단일 문자 세트로 표현
UTF-16
- 1990년도
2byte사용- 자주 사용하는 기본 다국어들은
2byte로 표현- 영어, 유럽 언어, 한국어, 중국어, 일본어 등
- 그 외는
4byte로 표현- 고대 문자, 이모지, 중국어 확장 한자 등
- 단점
- ASCII 영문도
2byte사용 - ASCII 호환 되지 않음
- ASCII 영문도
UTF-8
- 1990년도
1byte기반, 가변길이 인코딩1byte: ASCII, 영문, 기본 라틴 문자2byte: 그리스어, 히브리어 라틴 확장 문자3byte: 한글, 한자, 일본어4byte: 이모지, 고대문자 등
- 장점
- ASCII 문자는
1byte로 표현 - ASCII 호환
- ASCII 문자는
- 단점
- 상대적으로 사용이 복잡
- ASCII를 제외한 일부 언어에서 더 많은 용량 사용
- EUC-KR, MS949 한글 호환 되지 않음
- UTF-16 영어, 한글 호환 되지 않음
- 현대의 사실상 표준 인코딩 기술
결론: UTF-8을 사용하면 됩니다.
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.