3 유니코드 인코딩 방식
이번에도 용어를 몇 가지 정리하고 이야기를 시작하겠습니다.
코드 유닛(code unit)은 코드 포인트를 특정한 방법으로 인코딩했을 때 변환되어 얻어지는 비트의 나열을 말합니다.
문자 인코딩 방식(Character Encoding Scheme, CES)은 코드 유닛을 옥텟으로 나열하여 변환하는 방법입니다. 옥텟(octet)은 데이터의 단위로 8비트를 의미합니다. 지금은 1바이트를 당연히 8비트라고 생각하지만, 예전에는 1바이트가 반드시 8비트는 아니었으므로 옥텟이라는 용어를 따로 사용했습니다. 현재 컴퓨터는 모두 8비트 단위를 사용하므로 코드 유닛을 옥텟으로 변환해도 실제로 비트가 바뀌지는 않습니다.
용어만 들어서는 쉽게 이해하기 어렵습니다. 유니코드 인코딩 방식을 알아보면서 이해해 봅시다.
유니코드는 2바이트로 숫자 하나에 문자 하나를 대응하여 문자를 표현합니다. 기본 다국어 평면을 포함해 평면이 열일곱 개 있으므로 모든 문자를 표현하려면 3바이트가 필요합니다. 언뜻 생각하면 코드 유닛의 크기를 3바이트로 하고 코드 포인트를 그대로 저장하면 될 것 같지만 그렇게 쉽게 결정할 문제가 아닙니다.