논리적 사고

AI가 한글 10자를 10바이트로 잘라도 될까?

문자 수와 저장 바이트 수는 같지 않습니다. 문자열과 한도를 바꿔 다중 바이트 문자를 중간에서 자르면 어떤 문제가 생기는지 확인합니다.

영문은 한 칸, 한글은 세 칸, 이모지는 네 칸의 UTF-8 바이트를 쓰며 문자 경계에서만 안전하게 자르는 비교 그림입니다.
영문은 한 칸, 한글은 세 칸, 이모지는 네 칸의 UTF-8 바이트를 쓰며 문자 경계에서만 안전하게 자르는 비교 그림입니다.
그림 크게 열기 ↗SVG 저장

그림에서 무엇을 볼까요?

영문은 한 칸, 한글은 세 칸, 이모지는 네 칸의 UTF-8 바이트를 쓰며 문자 경계에서만 안전하게 자르는 비교 그림입니다.

영문 기본 글자 ‘A’는 UTF-8에서 1바이트지만 한글 음절 ‘논’은 3바이트입니다. 올빼미 이모지처럼 보충 평면의 문자는 4바이트가 필요할 수 있습니다.

따라서 ‘10자’와 ‘10바이트’는 다른 제한입니다. 화면 길이, 데이터베이스 용량, 통신 한도를 구별해 적어야 합니다.

함께 확인할 점

브라우저 TextEncoder의 UTF-8 결과를 사용합니다. 안전한 방식은 유니코드 문자 단위로 필요한 바이트를 더해 한도를 넘기기 전 멈춥니다. 실제 AI 호출은 없습니다.

생각해 볼 질문

자주 쓰는 사용자 이름 하나의 문자 수와 UTF-8 바이트 수를 비교하고 제한 문구를 어떻게 써야 할지 적어 보세요.

← 논리적 사고 그림 더 보기