텍스트 통계
텍스트의 문자 수, 단어 수, 바이트 크기 등의 정보를 확인합니다.
텍스트의 문자 수, 단어 수, 줄 수, UTF-8 바이트 크기를 입력과 동시에 계산해 보여 줍니다.
사용 순서
- 텍스트 입력창에 내용을 붙여 넣거나 직접 입력합니다.
- 네 개의 통계 값이 입력에 맞춰 바뀌는지 확인합니다.
- 길이 제한이 문자 기준인지 바이트 기준인지에 맞춰 해당 값을 읽습니다.
예시
입력 안녕은 문자 수 2이고, UTF-8 기준 바이트 크기는 6입니다. 한글 한 글자가 UTF-8에서 3바이트를 차지하기 때문입니다.
한계
문자 수는 JavaScript 문자열 길이이므로 이모지 하나를 2로 셉니다. 단어 수는 공백으로 나눈 개수라서 앞에 공백이 있으면 빈 단어가 하나 더 셉니다. 예를 들어 " a b"는 3입니다. 줄 수는 마지막 줄바꿈 뒤의 빈 줄도 한 줄로 셉니다.
보안 주의
DB 컬럼이나 API의 길이 제한은 문자 수인지 바이트 수인지에 따라 저장이 실패하거나 잘릴 수 있습니다. 한글과 이모지가 섞인 입력은 두 값이 크게 다르므로 제한 단위를 먼저 확인하세요.
배경 지식
글자 수는 문자, 코드 포인트, 바이트라는 세 가지 단위로 셀 수 있습니다. 영문 a는 세 단위 모두 1이지만 한글 한 글자는 문자 수와 코드 포인트가 1이고 UTF-8 바이트는 3입니다. U+FFFF를 넘는 이모지는 JavaScript 문자열에서 두 칸으로 세어지는 경우가 많습니다.
UTF-8은 아스키 범위를 1바이트로, 대부분의 한글 음절을 3바이트로 저장하는 가변 길이 인코딩입니다. 그래서 HTTP 본문, 파일 크기, 메시지 큐의 최대 크기 같은 제한은 문자 수가 아니라 바이트 수로 계산되는 일이 많습니다. 같은 100자 제한이라도 한글만 쓰면 실제 바이트는 세 배가 될 수 있습니다.
단어 수는 언어마다 기준이 달라서 정확한 값이 아니라 참고 값입니다. 영어는 공백으로 단어가 나뉘지만 한국어는 조사가 붙어 있어서 공백 수와 체감하는 단어 수가 다를 수 있습니다. 문서 분량을 맞출 때는 이 값을 기준으로 삼되 최종 확인은 실제 문서로 하세요. 제출 기준이 정해져 있다면 해당 기관이 쓰는 세는 방식과 같은지도 먼저 확인해야 합니다.
자주 묻는 질문
줄 수에 마지막 빈 줄도 포함되나요?
네. 마지막 줄바꿈 뒤에 빈 줄이 있으면 그 줄도 한 줄로 계산됩니다. 실제 텍스트 줄 수만 원하면 끝의 줄바꿈을 지운 뒤 확인하세요.
공백만 입력해도 단어 수가 0이 아닌가요?
네. 공백만 있는 텍스트를 공백 기준으로 나누면 빈 항목이 생기므로 실제 단어가 없어도 2 이상이 표시될 수 있습니다.
바이트 크기는 어떤 인코딩 기준인가요?
UTF-8 기준으로 계산합니다. 웹과 대부분의 파일이 UTF-8을 쓰므로 일반적인 용도에는 맞지만, EUC-KR이나 UTF-16으로 저장하는 시스템에서는 값이 달라집니다.