텍스트 바이트 분석기

텍스트의 인코딩별 바이트 수를 실시간으로 분석합니다. UTF-8, EUC-KR, UTF-16 비교 및 SMS/DB 용량 추정. 실시간 분석

분석 결과 요약

텍스트 바이트 분석기 완벽 가이드

텍스트 바이트 분석기는 입력한 텍스트가 다양한 문자 인코딩 방식에서 실제로 몇 바이트의 저장 공간을 차지하는지를 정확하게 계산해 주는 도구입니다. 웹 개발, 데이터베이스 설계, API 개발, SMS 발송 등 실무에서 텍스트의 바이트 크기를 정확히 파악하는 것은 매우 중요합니다.

인코딩별 한글 바이트 수 차이

한글은 인코딩 방식에 따라 차지하는 바이트 수가 크게 다릅니다. UTF-8에서는 한글 한 글자가 3바이트를 차지하지만, EUC-KR과 UTF-16에서는 2바이트만 차지합니다. 영문 알파벳은 UTF-8과 EUC-KR 모두 1바이트, UTF-16에서는 2바이트입니다. 이러한 차이는 데이터베이스의 VARCHAR 크기를 설정하거나 API 응답 크기를 추정할 때 반드시 고려해야 합니다. 예를 들어, MySQL에서 VARCHAR(255)는 UTF-8 기준으로 한글 최대 85자까지만 저장할 수 있습니다.

SMS 문자 발송과 바이트 제한

문자 메시지(SMS) 발송 시 영문은 80바이트(약 80자), 한글은 80바이트(약 40자)까지 단문(SMS)으로 발송됩니다. 이를 초과하면 장문(LMS)으로 전환되어 추가 요금이 발생할 수 있습니다. 본 도구를 사용하면 작성한 메시지가 SMS 범위 내에 있는지 즉시 확인할 수 있어, 문자 마케팅이나 알림 서비스 개발에 매우 유용합니다.

데이터베이스와 API에서의 바이트 관리

데이터베이스에서 문자열 컬럼의 크기를 설정할 때, 인코딩에 따른 바이트 차이를 반드시 고려해야 합니다. PostgreSQL의 VARCHAR 타입은 바이트가 아닌 문자 수 기준이지만, MySQL의 경우 인코딩 설정에 따라 실제 저장 가능한 문자 수가 달라집니다. REST API를 설계할 때도 응답 본문의 바이트 크기를 예측하여 네트워크 전송 시간과 대역폭 비용을 최적화할 수 있습니다. 이 도구는 이러한 실무적인 판단에 필요한 정확한 바이트 정보를 제공합니다.

자주 묻는 질문 (FAQ)

Q. UTF-8에서 한글이 3바이트인 이유는 무엇인가요?

A. UTF-8은 가변 길이 인코딩으로, ASCII 호환성을 유지하면서 전 세계 문자를 표현합니다. 한글은 유니코드에서 U+AC00~U+D7A3 범위에 위치하며, 이 범위는 UTF-8에서 3바이트로 인코딩됩니다. 영문(ASCII)은 1바이트, 유럽 문자는 2바이트, 한중일 문자는 3바이트, 이모지 등은 4바이트를 사용합니다.

Q. EUC-KR과 UTF-8 중 어떤 인코딩을 사용해야 하나요?

A. 현대 웹 개발에서는 UTF-8이 표준입니다. EUC-KR은 한글과 일부 한자만 표현 가능하지만, UTF-8은 전 세계 모든 문자를 지원합니다. 레거시 시스템과의 호환이 필요한 경우가 아니라면 UTF-8을 권장합니다. 다만 한글 전용 시스템에서 저장 공간을 절약해야 할 때는 EUC-KR의 2바이트 장점을 고려할 수 있습니다.

Q. DB에서 VARCHAR 크기를 설정할 때 바이트와 글자 수 중 어떤 기준을 사용하나요?

A. MySQL의 경우 VARCHAR(n)은 문자 수 기준이지만, 내부적으로 인코딩에 따른 바이트 제한이 있습니다(utf8mb4 기준 최대 16,383자). PostgreSQL도 문자 수 기준입니다. 하지만 실제 디스크 사용량과 인덱스 크기는 바이트 기준이므로, 성능 최적화를 위해서는 바이트 수를 함께 고려하는 것이 좋습니다.

Q. 이모지의 바이트 수는 얼마인가요?

A. 이모지는 UTF-8에서 보통 4바이트를 차지합니다. 일부 복합 이모지(예: 가족, 피부색 변형)는 여러 코드포인트의 조합으로 8~25바이트까지 차지할 수 있습니다. MySQL에서 이모지를 저장하려면 utf8mb4 인코딩을 사용해야 합니다.