Unicode
과거에 문자
나 특수문자
를 사용하기 위해서 1byte를 가지고 표현할 수 있었다.
하지만 인터넷 시대가 오면서 세계 각 나라들이 자신들의 언어를 표현하기 위해 표준 코드가 필요했고
그렇게 만들어진 것이 유니코드(Unicode)
이다.
유니코드(Unicode)
는 글자와 코드가 1:1로 매핑되어 있는 코드표
이다.
UTF-8
UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다.
UTF-8로 표현 가능한 길이는 최대 6바이트지만 다른 인코딩과의 호환을 위해 4바이트까지만 사용한다.
그래서 한 글자가 1~4바이트 중 하나로 인코딩될 수 있으며, 1바이트 영역은 아스키 코드(ASCII)와 하위 호환성을 가진다.
일반적으로 사용가능한 영문은 1바이트에서 사용이 가능하고, 그 이후로 여러 언어가 추가될 수록 바이트는 늘어나 현재 4바이트까지 사용된다. ( 한글은 3바이트에서 사용 가능! )
UTF-16
UTF-8
다음으로 많이 사용되는 방식이다.
UTF-16
에서는 영문, 한글, 중국어 등 대부분의 언어는 2바이트로 사용된다.
UTF-8
에서 1바이트를 사용하던 영어는 손해지만 3바이트 이상을 사용하던 다른 언어는 UTF-16
을 사용하는 이점이 있다.
문자열을 사용하기 위해서 Unicode
는 공통적이지만 어떤식으로 인코딩하여 데이터로 들고 있을지는 선택해야 된다.
그리하여 UTF-8
, UTF-16
중 어떤 것을 사용할지 정하여 클라이언트와 맞춰줘야지 통신이 가능하다.