7. ASCII , UNICODE, UTF-8
2018. 7. 5. 22:16
아스키코드 (ASCII)
- ● 7bit (2의 7승 : 128 가지 문자)
- ● American Standard Code for Information Interchange
- ● 컴퓨터의 기본 저장 단위는 바이트(byte)이고, 1byte는 8bit이다.
● 1byte에는 2의 8승에 해당하는 256개
의 고유한 값을 저장할 수 있다.● 아스키코드는 7비트로 128개
의 고유한 값을 저장한다. (문자 하나당 숫자 하나를 매핑, ● 1비트는 별도의 목적을 위해서 사용)- ● 로마자 및 특수 기호(한글 포함 안됨)
![views](https://wayhome25.github.io/assets/post-img/cs/ASCII-Table.png)
유니코드 (UNICODE)
- ● 2byte (2의 16승 : 65,536가지 문자)
- ● 한글은 자음과 모음의 조합 개수만해도 128개를 넘는다.
- ● 이와 같이 7bit ASCII 코드에 담을 수 없는 문자를 정의하기 위해서
2byte 국제표준코드 유니코드
가 등장하였다. ● 2byte는 16bit로 2의 16승 약 6만 5천개
의 문자를 저장할 수 있다.- ● 유니코드로 ASCII 코드를 포용 가능하다.
UTF-8
- ● 유니코드 부호화 방식 (8bit 기반 )
● 가변 길이 유니코드 인코딩 시스템
- ● 특정 문자 집합 안의 문자들을 컴퓨터 시스템 안헤서 사용할 목적으로 일정한 범위 안의 정수 (코드값) 들로 변환하는 방법
- ● ASCII 코드의 언어는 1byte로 나타내며, 한글의 경우 3byte로 나타낸다.
utf-8 탄생 배경
- ● 유니코드를 사용하면 영어권 사용자들은 메모리 낭비가 2배가 된다. (영어는 1byte ascii로 충분하기 때문에)
- ● 유니코드는 2byte로 규약을 했으나 메모리에 저장하고, 네트워크에 통신 할 때 한번 걸러서 저장을 한다 (부호화 : encoding)
- 0~127 사이에 존재하는 모든 코드 포인트(ASCII)들을 1byte로 저장
- 128 이상인 것은 2byte, 3byte로 저장한다. (한글은 3byte)
출처: https://wayhome25.github.io/cs/2017/04/05/cs-06/
'Get IT Note > Java' 카테고리의 다른 글
8. int Array -> Integer List 변환하기 (0) | 2018.07.16 |
---|---|
6. String, StringBuffer, StringBuilder 의 차이점 (0) | 2018.07.04 |
5. 불변객체와 가변객체 (0) | 2018.07.04 |
4. ArrayList와 Array간 변환 (0) | 2018.07.03 |
3. 예외처리 (0) | 2018.07.03 |