String Inspector analyze
문자열의 길이, 바이트 수, 줄 수, 문자 종류 구성, 공백과 제어문자 포함 여부를 한 번에 분석합니다.
이 도구가 하는 일
겉보기에 같아 보이는 문자열이 실제로는 다른 경우가 자주 있습니다. 끝에 보이지 않는 공백이 붙어 있거나, 일반 공백처럼 보이지만 실제로는 줄바꿈 없는 공백(non-breaking space)이거나, 윈도우에서 만든 파일이라 줄 끝에 캐리지 리턴이 함께 들어 있는 경우입니다. 이런 차이는 눈으로는 보이지 않지만 비교 연산과 해시 값, 데이터베이스 조회 결과를 모두 다르게 만듭니다.
이 도구는 입력한 문자열을 여러 관점에서 분해해 보여줍니다. 문자 수와 UTF-8 기준 바이트 수를 구분해 표시하고, 줄 수와 단어 수를 세고, 영문자와 숫자와 공백과 특수문자가 각각 몇 개인지 집계합니다. 문자 수와 바이트 수를 나누어 보여주는 이유는 한글이나 이모지가 포함된 경우 두 값이 크게 달라지기 때문입니다. 데이터베이스 컬럼 길이나 API의 입력 제한은 대부분 바이트 기준이라 이 구분이 중요합니다.
언제 사용하나요
입력값이 왜 데이터베이스 길이 제한에 걸리는지 확인할 때, 두 문자열이 같아 보이는데 비교 결과가 다를 때 원인을 찾을 때, 복사해 온 값에 보이지 않는 공백이 섞였는지 확인할 때, 한글이 포함된 값의 실제 바이트 수를 계산할 때 사용합니다.
입력과 출력 예시
Hello 한글
문자 8개 / UTF-8 기준 12바이트
한글 두 글자가 6바이트를 차지해 문자 수와 바이트 수가 달라집니다.
값
앞뒤 공백 포함, 실제 내용은 1글자
복사한 값에 공백이 섞여 조회가 실패하는 경우를 확인할 수 있습니다.
주의사항
바이트 수는 UTF-8 기준으로 계산합니다. EUC-KR 같은 다른 인코딩을 쓰는 시스템에서는 한글 한 글자가 2바이트이므로 값이 달라집니다. 또한 이모지나 일부 문자는 여러 코드 포인트가 결합해 하나로 보이기 때문에, 화면에 보이는 글자 수와 프로그램이 세는 문자 수가 다를 수 있습니다.
자주 묻는 질문
문자 수와 바이트 수가 왜 다른가요?
UTF-8에서 영문은 1바이트지만 한글은 3바이트를 차지하기 때문입니다. 데이터베이스 길이 제한이 바이트 기준이라면 한글 입력에서 더 빨리 한도에 걸립니다.
같은 값인데 비교하면 다르다고 나옵니다.
보이지 않는 공백이나 줄바꿈 형식 차이(CRLF와 LF)가 원인인 경우가 많습니다. 이 도구로 두 값의 바이트 수와 제어문자 포함 여부를 비교해 보십시오.