문자조합 : unicode중 utf 16과 utf 8의 차이점
유니코드
유니코드란, 사람이 사용하는 언어를 컴퓨터가 이해할 수 있도록 bit로 표현할 수 있는 숫자에 매핑하는 것을 일컫는다.
모든 문자에는 Index가 지정이 되며, 이 Index를 Code Point, Code Unit라고 일컫는다.
인코딩
인코딩이란 사람의 언어를 컴퓨터의 언어로 변화하는 방식을 일컫는다. 이런 인코딩 방법 중 하나가 바로 UTF 방식을 말한다.
그렇다면, UTF 방식은 어떤 방식을 의미하는 걸까?
UTF는 유니코드를 문자로 인코딩하는 방식이다. 이때, UTF-(숫자)는 숫자만큼의 비트(bit)를 사용하여 Index를 표현할지를 의미한다.
UTF 방식 | 사용 비트 |
UTF-8 | 8 bit를 사용하여 1개의 index 표현 |
UTF-16 | 16 bit를 사용하여 1개의 index 표현 |
UTF-32 | 32 bit를 사용하여 1개의 index 표현 |
가장 대중적으로 쓰이는 UTF는 UTF-8과 UTF-16이다.
UTF-8 VS UTF-16
UTF-8 | UTF-16 | |
문자 하나를 표현하기 위한 필요 bit 크기 | 8bit | 16 bit |
사용처 | 인터넷에서 대부분 기본적으로 사용 | 기본 다국어 평면(BMP, Basic multilingual plane)에 속하는 문자 16bit값으로 인코딩 |
인코딩 방식 | 가변길이 문자 인코딩 방식 | 그 이상의 문자는 32 bit로 인코딩 |
문자를 나타내기 위해 사용하는 byte 범위 차이 | 유니코드 한 문자를 나타내기 위해 1byte~ 4byte까지 사용 | 유니코드 한 문자를 나타내기 위해 2byte~4byte 까지 사용 |
영어 사용 바이트 수 | 영어 byte 수 : 1byte | 영어 byte 수 : 2byte |
한글 사용 바이트 수 | 한글 byte 수 : 3byte | 한글 byte 수 : 2byte |
참고자료
goodgid.github.io/Unicode-And-UTF-Encoding/
유니코드와 UTF-8 / UTF-16
Index
goodgid.github.io
'JAVA > Front-end 교육과정 정리' 카테고리의 다른 글
[2일차] 2020.12.08 예습 (0) | 2020.12.09 |
---|---|
[2020.12.07] 1일차 OT (0) | 2020.12.07 |