홈 / 바이트 수 계산

글자수

바이트 수 계산

인코딩마다 한글이 차지하는 크기가 다릅니다. 두 기준을 같이 보여 줍니다.

UTF-8
0B
EUC-KR · CP949
0B
UTF-16
0B
글자 수
0
문자 발송
단문

인코딩별 한글 크기

인코딩한글 1자영문·숫자 1자주로 쓰는 곳
UTF-831웹, 최신 데이터베이스, 파일 이름
EUC-KR · CP94921문자 발송, 오래된 윈도 프로그램
UTF-1622자바·자바스크립트 내부 문자열

문자 발송 기준

단문(SMS)은 EUC-KR 기준 90바이트까지입니다. 한글로는 45자, 영문·숫자로는 90자입니다. 이를 넘으면 장문(LMS)이 되고 2,000바이트까지 들어갑니다. 통신사마다 한두 바이트 차이가 있을 수 있어 꽉 채우지 않는 편이 안전합니다.

데이터베이스 글자 수 제한

데이터베이스의 VARCHAR(100) 같은 제한이 100글자인지 100바이트인지는 데이터베이스와 설정에 따라 다릅니다. 바이트 기준이면 한글은 33자밖에 안 들어갑니다.

한글이 섞인 값을 저장했는데 잘려 나간다면 이 때문입니다. UTF-8에서 한글 한 자가 3바이트를 차지합니다. 이모지는 더 큽니다. 한 글자처럼 보여도 4바이트 이상인 경우가 많습니다.

파일 이름 길이

파일 이름 길이 제한도 바이트로 걸리는 경우가 많습니다. 한글 파일명이 유난히 짧게 잘리는 이유입니다.

서버에 올릴 때 이름이 깨지거나 잘린다면 영문으로 바꾸는 쪽이 간단합니다.

왜 같은 글인데 크기가 다른가

인코딩은 글자를 숫자로 바꿔 저장하는 약속입니다. 약속이 다르면 크기가 달라집니다.

UTF-8은 영문을 1바이트로 아끼는 대신 한글에 3바이트를 씁니다. EUC-KR은 한글을 2바이트로 처리하지만 영문 외의 다른 나라 글자를 담지 못합니다. 지금은 UTF-8이 사실상 표준이고, EUC-KR은 문자 발송과 오래된 프로그램에 남아 있습니다.

← 글자수 세기로