문자 메시지를 보내다 “바이트 초과” 경고를 본 적 있으신가요? 글자수는 괜찮은데 왜 바이트가 초과될까요? 이 글에서 글자수와 바이트 수의 차이를 쉽게 설명합니다.
글자수와 바이트 수는 다릅니다
글자수는 우리가 눈으로 세는 문자의 개수입니다. “안녕”은 2글자, “Hello”는 5글자이죠.
바이트(Byte)는 컴퓨터가 데이터를 저장하는 단위입니다. 문자를 컴퓨터에 저장할 때 각 글자가 차지하는 실제 용량이 글자마다 다릅니다.
핵심 포인트
영문 1글자 = 1바이트, 한글 1글자 = 3바이트 (UTF-8 기준)
→ “안녕” 2글자 = 6바이트, “Hello” 5글자 = 5바이트
UTF-8 인코딩 기초
컴퓨터는 모든 데이터를 0과 1의 이진수로 저장합니다. 문자를 어떻게 이진수로 변환할지 정한 규칙이 문자 인코딩이고, 현재 웹 표준으로 가장 널리 쓰이는 방식이 UTF-8입니다.
UTF-8은 문자에 따라 1~4바이트를 가변적으로 사용합니다. 자주 쓰이는 영문자는 1바이트로 효율적으로 저장하고, 전 세계 다양한 언어의 글자는 더 많은 바이트를 사용합니다.
| 문자 종류 | UTF-8 바이트 | 예시 |
|---|---|---|
| 영문 소문자·대문자 | 1바이트 | a, b, Z, M |
| 숫자 | 1바이트 | 0, 1, 9 |
| 영문 특수문자 | 1바이트 | !, @, #, $ |
| 한글 (완성형) | 3바이트 | 가, 나, 한, 글 |
| 한자 | 3바이트 | 中, 漢, 字 |
| 일부 이모지 | 3~4바이트 | 😀, ❤️ |
왜 한글은 3바이트일까?
한글 자음·모음 조합으로 만들어지는 완성형 글자(가~힣)는 유니코드 코드포인트 범위 U+AC00~U+D7A3에 해당합니다. UTF-8은 이 범위의 글자를 저장하기 위해 3바이트(24비트)가 필요합니다. 영문 알파벳은 128개에 불과해 1바이트(7비트)로 충분하지만, 한글은 11,172개의 완성형 글자를 표현해야 하므로 더 많은 비트가 필요합니다.
SMS/MMS 바이트 제한
문자 메시지에서 “바이트 초과” 경고가 뜨는 이유가 바로 이 때문입니다. SMS와 MMS는 글자수가 아닌 바이트 수로 용량을 제한합니다.
| 메시지 종류 | 바이트 제한 | 한글 기준 글자수 | 영문 기준 글자수 |
|---|---|---|---|
| SMS (단문) | 90바이트 | 약 30자 | 약 90자 |
| LMS (장문) | 2,000바이트 | 약 666자 | 약 2,000자 |
| MMS (멀티미디어) | 제한 없음 | 이미지·동영상 첨부 가능 |
한글로 문자를 보낼 때 약 30자를 넘으면 LMS(장문)로 발송되어 추가 요금이 발생할 수 있습니다. 통신사마다 기준이 조금씩 다를 수 있으니 확인하세요.
실무에서 바이트 수가 중요한 경우
데이터베이스 컬럼 설계
VARCHAR(100)은 100바이트가 아닌 100글자(MySQL 기준) 또는 100바이트(일부 DB)입니다. 한글을 저장할 DB 컬럼 크기를 설계할 때 바이트 수를 반드시 고려해야 합니다.
API 입력 제한
일부 API는 글자수가 아닌 바이트 수로 입력 제한을 적용합니다. 한글로 가득 찬 내용이 예상보다 일찍 잘릴 수 있습니다.
파일명·URL 인코딩
URL에 한글이 포함되면 퍼센트 인코딩(%ED%95%9C%EA%B8%80)으로 변환되어 한 글자가 9글자로 늘어납니다. URL 길이 제한에 영향을 줍니다.
이메일 제목·본문
이메일 헤더는 바이트 제한이 있어 한글 제목이 길면 인코딩 처리가 필요합니다. 일부 시스템에서 제목이 깨지는 원인이기도 합니다.
글자수·바이트 계산 예시
| 텍스트 | 글자수 | 바이트 수 |
|---|---|---|
| Hello | 5자 | 5바이트 |
| 안녕하세요 | 5자 | 15바이트 |
| Hello 안녕 | 8자 (공백 포함) | 12바이트 |
| 2026년 | 5자 | 11바이트 (숫자4+년3+특수문자1 아님, 년=3B) |
| 딱계산.com | 8자 | 14바이트 |
* UTF-8 기준. 공백(스페이스)은 1바이트입니다.
결론
글자수는 눈에 보이는 문자 개수, 바이트 수는 컴퓨터가 실제로 저장하는 데이터 크기입니다. 한글은 1글자당 3바이트이기 때문에 같은 글자수라도 바이트 수는 영문의 3배입니다.
딱계산의 글자수 세기 도구에서 공백 포함/제외 글자수와 바이트 수를 실시간으로 확인할 수 있습니다. 문자 메시지, DB 설계, API 개발 등 다양한 상황에서 활용해 보세요.