문자 코드 확인
문자의 유니코드 코드포인트와 UTF-8 바이트를 보여줘요.
이럴 때 쓰세요
이렇게 사용하세요
결과가 예상과 다를 때
결과가 예상과 달라요
단위와 기준을 먼저 확인해 주세요. 값을 바꾸면 결과가 바로 갱신돼요.
처음 값으로 되돌리고 싶어요
초기화를 누르면 처음 상태로 돌아가요.
자주 하는 실수
- 같은 글자처럼 보여도 코드포인트가 다를 수 있습니다. 미리 합성된 é 하나와 e에 결합 기호를 붙인 것은 화면상 같아도 각각 U+00E9와 U+0065·U+0301로 기록되고, 바이트 수도 2와 3으로 갈립니다.
- 코드포인트가 다섯 자리가 될 수 있습니다. 표기를 네 자리로만 생각하면 이모지 영역에서 앞자리가 잘립니다. 0~10FFFF까지 값이므로 자릿수를 고정해 읽지 마세요.
- 이모지는 문자열에서 두 칸을 차지합니다. 겉보기에는 한 글자인데 길이는 2로 세어지고 코드포인트는 하나입니다. 문자 단위로 쪼개는 로직을 돌리면 이모지가 깨집니다.
- 저장 용량 규약은 보통 바이트 기준입니다. 코드포인트 개수만으로 열 길이를 정하면 한글 데이터가 넘칠 수 있습니다. 컬럼 정의가 UTF-8 기준인지 먼저 확인하세요.
계산 근거
유니코드 표준은 각 문자를 코드포인트라는 정수로 표현합니다. 표기는 U+ 뒤에 16진수를 적되 기본 네 자리이며, 최댓값인 U+10FFFF처럼 다섯 자리가 되는 경우도 있습니다. UTF-8(RFC 3629)은 코드포인트 값에 따라 1~4바이트로 인코딩하고, 기본 평면 밖 문자는 코드포인트 하나가 두 개의 16비트 값으로 나뉘는 서로게이트 쌍으로 다뤄집니다.
실제로 계산해 보면
숫자 0과 알파벳 z는 몇 바이트인가요?
둘 다 1바이트입니다. 0은 U+0030, z는 U+007A로 아스키 구간에 속합니다. 이 구간만 1바이트이고 그 위로 갈수록 2~3바이트로 늘어납니다.
한자를 나타내는 글자 하나의 값은?
中는 U+4E2D로 코드포인트 하나이고 바이트는 3개입니다. 기본 평면 안에 있어 완성형 한글 음절과 같은 3바이트를 차지합니다.
é 하나와 e에 결합 기호를 붙인 것은 어떻게 다른가요?
첫째는 U+00E9로 2바이트, 둘째는 U+0065와 U+0301 두 개로 3바이트입니다. 화면에는 같아 보이지만 저장과 검색에서 다른 값으로 다뤄집니다.
더 궁금한 것
한글은 언제나 3바이트인가요?
완성형 음절만 그렇습니다. 자음이나 모음만 따로 쓰면 3바이트가 되고, 조합형 자모는 더 길어지기도 합니다. 초성·종성을 따로 저장하는 방식이 다른 곳에서는 값이 아예 달라지니 저장 형식을 먼저 확인하세요.
글자 수와 바이트 수 중 뭐로 용량을 잡아야 하나요?
한글 위주라면 글자당 3바이트로 대략 잡으면 됩니다. 다만 사진 링크가 섞인 본문은 텍스트 비율이 낮아 실제 용량이 더 작습니다. 정확한 값은 저장 전에 한 번 재서 확인하세요.
같은 글이데 저장했을 때 크기가 달라지는 이유는?
입력 방식에 따라 같은 화면 글자가 다른 코드포인트 열로 저장될 수 있습니다. 자판 조합 입력과 모바일 자동완성, 다른 프로그램에서의 붙여넣기가 각각 다릅니다. 서버에서 정규화 형태로 맞춰 저장하면 비교와 검색이 안정적이 됩니다.
알아둘 경계값
- 한 번에 50자까지만 표시되고 51번째부터는 잘려요. 긴 문자열은 나눠 입력하세요.
- 결합 이모지는 구성 요소로 쪼개져 여러 줄로 표시돼요. 한 글자 단위로 세지 마세요.
- 바이트 수는 UTF-8 기준이라 UTF-16 저장소와 달라요. 한글 1글자가 2단위로 잡히는 저장소인지 먼저 확인하세요.
- 제어문자는 빈 박스로 보여 코드로만 판별하세요. 눈으로 모양을 구분하려 하지 마세요.
- 출력 순서가 입력 순서 그대로라 중복 문자가 따로 표시돼요. 빈도 파악에는 쓸 수 없어요.
- 표시된 문자를 드래그 복사하면 원본 문자가 그대로 복사돼 테스트 문자열이 오염돼요. 복사 후 코드를 다시 확인하세요.
결과를 믿기 전 확인 목록
- 50자를 넘기면 잘리는지 길이를 세어 확인하세요.
- 결합 이모지가 여러 줄로 쪼개지는지 확인하세요.
- 개행이나 탭 같은 제어문자는 코드값으로 판독하세요.
- UTF-16 저장소와 대조할 때는 바이트가 아닌 단위 수를 쓰세요.
- 같은 글자가 여러 줄 나오면 중복 입력인지 확인하세요.
- 복사한 테스트 문자가 오염되지 않았는지 코드로 재확인하세요.
- 한글 3바이트와 영문 1바이트 기준값과 대조하세요.
- 16진수 표기 대소문자 차이를 무시하고 비교하세요.
- 이모지 4바이트 표시와 저장소 길이 제한을 대조하세요.
자주 묻는 질문
이모지도 되나요?
네. 서로게이트 페어를 정확히 계산합니다.
UTF-8 바이트 수를 왜 보여주나요?
저장·전송 용량과 DB 컬럼 길이를 가늠할 때 필요해요. 한글은 3바이트라 글자 수와 다릅니다.