본문 바로가기

JAVA/Front-end 교육과정 정리

[예습] 2020.12.09 UTF-8 과 UTF-16의 차이점

문자조합 : 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