글자 수·어절 수·바이트 수가 서로 다른 이유

짧은 글 하나에도 서로 다른 길이가 나올 수 있습니다. 사람이 보는 글자를 셀지, 프로그램이 저장한 단위를 셀지, 공백 사이의 묶음을 셀지, 인코딩한 바이트를 셀지에 따라 답이 달라집니다. 악센트 문자, 이모지, 한글 등 여러 문자 체계가 섞일 때 차이가 특히 잘 드러납니다.

보이는 한 글자가 저장 단위 하나는 아닙니다

유니코드는 글자, 결합 부호, 기호 같은 요소에 코드 포인트를 부여합니다. 하나로 보이는 글자에 여러 요소가 들어갈 수 있습니다. 예를 들어 악센트가 있는 e는 완성된 문자 하나로 저장할 수도 있고, e 뒤에 악센트 부호를 붙여 저장할 수도 있습니다. 화면에서는 같은 글자처럼 보일 수 있습니다.

그래핌 클러스터는 사람이 보통 한 글자로 인식하는 요소를 묶은 단위입니다. 이 사이트의 글자 수는 이 방식을 사용합니다. 읽는 사람의 관점에 가까운 척도지만 코드 포인트 수나 일부 프로그래밍 언어가 반환하는 UTF-16 코드 유닛 길이와는 다릅니다.

이모지를 보면 기준의 차이가 드러납니다

이모지에는 기본 기호, 피부색 변경자, 여러 요소를 하나로 이어 주는 시퀀스가 들어갈 수 있습니다. 내부 요소를 따로 세면 화면에 보이는 묶음을 셀 때보다 숫자가 커집니다. 가족 이모지는 여러 구성 요소가 한 이미지처럼 표시되는 대표적인 예입니다.

유니코드 지원도 달라집니다. 새 브라우저와 오래된 앱이 같은 시퀀스를 다르게 표시하거나 분할할 수 있습니다. 특정 플랫폼의 제한을 맞춰야 한다면 해당 플랫폼의 카운터로 마지막 확인을 하세요. 링크에 별도 길이를 부여하거나 일부 문자에 다른 가중치를 주는 서비스도 있습니다.

공백 기준 어절은 단순한 구분 방식입니다

이 도구는 띄어쓰기, 탭, 줄바꿈 사이에 있는 비어 있지 않은 묶음을 하나로 셉니다. Hello world는 두 묶음입니다. 중간 공백이 여러 개여도 묶음이 추가되지는 않습니다. 단어에 붙은 문장부호는 같은 묶음에 들어가고, 공백으로 떨어진 문장부호는 별도 묶음이 될 수 있습니다.

이는 언어학적 사전 분석이 아닙니다. 띄어쓰기가 없는 중국어나 일본어 문장은 여러 단어를 담고 있어도 하나로 셉니다. 한국어의 어절도 사전의 단어와 완전히 같지 않습니다. 일관된 형식 점검에는 이 기준을 쓰되, 언어학적 단어 수가 필요한 과제라면 해당 언어와 요구 조건에 맞는 기준을 확인하세요.

UTF-8 바이트는 인코딩한 크기입니다

UTF-8에서 영문 ASCII 글자 A는 1바이트이고, 한글 음절 한은 3바이트입니다. 일반적인 이모지 중에는 변경자나 결합 요소가 붙기 전에도 4바이트를 사용하는 것이 많습니다. 따라서 눈에 보이는 글자 수가 같은 두 문장도 바이트 수는 다를 수 있습니다.

같아 보이는 악센트 문자도 차이가 납니다. 완성된 é는 UTF-8에서 2바이트이고 e와 결합 악센트를 따로 저장하면 3바이트입니다. 이 도구는 입력받은 텍스트의 UTF-8 크기를 셉니다. 파일의 서식이나 메타데이터는 포함하지 않으며, 문서에서 붙여 넣는 과정에 줄바꿈 등의 표현이 달라질 수 있습니다.

제출 조건에 맞는 항목을 확인하세요

눈에 보이는 글자 수를 제한한다면 그래핌 수와 공백 포함 여부를 확인하세요. 공백 제외 항목은 띄어쓰기, 탭, 줄바꿈을 빼지만 문장부호는 남깁니다. 바이트 제한은 요구하는 인코딩을 확인해야 하며 UTF-8 수치가 다른 인코딩에서도 같다는 뜻은 아닙니다.

줄 수는 실제로 입력된 줄바꿈을 기준으로 합니다. 화면이 좁아서 자동으로 접힌 행의 수가 아닙니다. 마지막 줄바꿈 뒤의 빈 줄도 포함하고, 아무 내용이 없으면 0줄입니다. 확인한 뒤에는 글을 바꾸지 않고 제출하며, 가능하다면 제출 화면의 자체 카운터도 확인하세요.