더북(TheBook)

U+AC00은 어떻게 0xEAB080으로 변환되었을까요? 변환 과정을 살펴보겠습니다.

UTF-8에서 코드 포인트가 U+0800에서 U+FFFF 사이인 문자는 다음과 같은 포맷으로 변환됩니다.

052_2


포맷을 천천히 살펴보겠습니다.

이 포맷에서 맨 앞에 있는 111은 바이트 수를 나타냅니다. 1바이트로 표현되면 1, 2바이트로 표현되면 11, 3바이트로 표현되면 111입니다. X로 표시된 부분은 문자의 코드 포인트를 2진수로 변환한 후 차례대로 채웁니다.

문자 ‘가’의 코드 포인트 U+AC00을 2진수로 표현하면 다음과 같습니다.

053


포맷의 X를 보면 첫번째 등장하는 X는 4자리, 그 다음은 6자리, 마지막은 6자리입니다. 이 자리수에 맞춰 변환해 둔 2진수 수(문자 ‘가’의 코드 포인트)를 표현해 보죠.

053_2


이제 포맷의 X를 이 수로 채웁니다.

053_3


이를 16진수로 변환하면 다음과 같습니다.

0xEAB080

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.