fixmint
KO

텍스트 속 숨은 문자: 어디에 숨어 있고 어떻게 지울까요

지은이: · · 2026년 11월 8일 업데이트 · 4분 읽기

숨은 문자는 제로 폭 공백, 줄바꿈 없는 공백, 방향 표시 같은 보이지 않는 유니코드 코드 포인트예요. 일반 공백처럼 보이거나 아예 아무것도 없어 보이기 때문에 화면상으로는 문제가 없어 보여도, 검색이나 코드, 입력 양식 검사에서는 전혀 다른 텍스트로 취급돼요. 코드 포인트를 직접 확인해서 찾고, 해당 문자만 삭제하거나 바꾸면 제거할 수 있어요.

숨은 문자 제거텍스트에 보이지 않는 이상한 문자가 섞임무료로 사용하기

어디서 생기나요

숨은 문자 대부분은 직접 입력할 때보다 복사하면서 들어와요.

  • 웹 페이지. 사이트에서는 두 단어가 줄 끝에서 나뉘지 않도록 줄바꿈 없는 공백(U+00A0)을 쓰고, 긴 단어가 어디서 끊어질 수 있는지 표시하려고 제로 폭 공백(U+200B)을 써요. 글을 복사하면 이 문자도 함께 따라와요.
  • 워드 프로세서. 하이픈 나누기를 위해 소프트 하이픈(U+00AD)이 들어가요. 줄이 그 자리에서 바뀌지 않는 한 보이지 않아요. 일부 편집기는 특정 위치에 줄바꿈 없는 공백을 자동으로 넣기도 해요.
  • 채팅 앱과 이메일. 채팅이나 이메일 클라이언트에서 복사한 메시지에는 제로 폭 결합 문자나 방향 표시가 들어 있을 수 있어요. 여러 언어가 섞인 글이라면 특히 그래요.
  • 방향이 섞인 텍스트. 아랍어, 히브리어, 그리고 이들이 섞인 글에서는 왼쪽에서 오른쪽 표시(U+200E), 오른쪽에서 왼쪽 표시(U+200F), 방향 삽입과 덮어쓰기 문자(U+202A부터 U+202E까지)를 써요. 이 문자들은 글의 뜻이 아니라 줄이 화면에 표시되는 방식을 조절해요.
  • 바이트 순서 표시. 파일 맨 앞의 바이트 순서 표시(BOM, U+FEFF)는 일부 편집기가 남기는 서명이에요. 보이지 않지만, 파일을 일반 텍스트로 읽으면 실제 첫 글자가 돼요.
  • AI 채팅 창. 일부 AI 채팅 인터페이스에서 복사한 텍스트에도 이런 문자가 들어 있을 수 있어요. 대개 텍스트가 표시되고 복사되는 방식 때문이니, 이를 작성자의 의도로 읽지 마세요.

왜 문제가 되나요

숨은 문자 하나하나가 실제 코드 포인트라서, 페이지가 똑같아 보여도 텍스트는 달라져요.

  • 검색이 실패해요. 단어 중간에 든 제로 폭 공백 때문에 일치 검색이 되지 않아서, 그 단어를 검색해도 아무것도 나오지 않아요.
  • 코드가 깨져요. 소스 파일에 든 줄바꿈 없는 공백은 많은 언어에서 문법 오류가 돼요. 그런데 오류가 가리키는 줄은 멀쩡해 보이는 경우가 많아요. 코드에서 자주 생기는 다른 붙여넣기 문제는 곡선 따옴표 가이드에서 다뤄요.
  • 입력 양식 검사에서 거부돼요. @ 뒤에 제로 폭 공백이 든 이메일 주소는 정상으로 보이지만 검사를 통과하지 못해요.
  • 글자 수가 어긋나요. 도구에 따라 이런 문자를 글자 수에 넣기도 하고 빼기도 해서, 같은 글이 서로 다른 합계로 나올 수 있어요. 정리 전후의 텍스트를 단어·글자 수 세기로 세어 보면 차이를 확인할 수 있어요.

예를 들어 볼게요. "invoice"라는 단어는 일곱 글자예요. 그 안에 제로 폭 공백이 하나 들어가면 같은 단어가 여덟 개의 코드 포인트가 되는데, 화면에서는 완전히 똑같이 보여요. "invoice"로 검색하면 두 번째 단어는 찾아지지 않아요.

숨은 문자 확인하기

글자를 눈으로 보는 것으로는 알 수 없으니, 다음 방법 중 하나를 쓰세요.

  1. 텍스트를 코드 포인트 목록을 보여 주는 도구에 붙여넣으세요. 예를 들어 숨은 문자 제거는 아무것도 바꾸기 전에 찾은 문자를 먼저 보여 줘요.
  2. 코드 편집기에서 공백이나 특수 문자를 표시하는 설정을 켜세요. 그러면 줄바꿈 없는 공백이 일반 공백과 다른 기호로 나타나요.
  3. 프로그래밍 언어에서 의심스러운 문자열의 코드 포인트를 출력해 보세요. 예를 들어 파이썬에서 [hex(ord(c)) for c in text]를 실행하면 문자마다 값이 나오고, 줄바꿈 없는 공백은 0xa0으로, 제로 폭 공백은 0x200b로 보여요.

제거하는 방법

제거는 대상을 정확히 골라서 해야 해요. ASCII가 아닌 문자를 모두 지우면 악센트 문자, 따옴표, 다른 언어의 글자까지 사라져요. 대신 이렇게 하세요.

  • 줄바꿈 없는 공백은 일반 공백으로 바꾸세요. 거의 언제나 공백으로 쓴 것이기 때문이에요.
  • 제로 폭 공백, 소프트 하이픈, 바이트 순서 표시, 엉뚱한 방향 표시는 삭제하세요.
  • 악센트가 있는 글자, 곡선 따옴표, 실제 문장부호는 그대로 두세요.

붙여넣은 텍스트 줄바꿈 정리는 다른 곳에서 가져온 텍스트를 위해 만들었어요. 복사한 내용에 깨진 줄바꿈이나 이상한 간격도 있다면 이 도구를 쓰세요.

fixmint로 하는 방법

  1. 텍스트를 입력 텍스트에 붙여넣으세요.
  2. 찾은 문자 목록을 읽으세요. 각 문자는 제로 폭 공백을 뜻하는 ZWSP처럼 이름이 표시되고, 어떻게 처리될지도 함께 나와요.
  3. 이모지 안의 결합 문자 유지를 체크한 상태로 두세요. 그래야 이모지 조합이 하나의 기호로 계속 표시돼요.
  4. 코드나 데이터를 다루는 경우에만 곡선 따옴표, en/em 대시, …를 일반 ASCII로도 변환을 체크하세요. 그다음 복사를 누르거나 .txt 다운로드를 누르세요.

예외 상황

  • 이모지 조합은 의도적으로 제로 폭 결합 문자를 써요. 이를 지우면 이모지 하나가 여러 기호로 쪼개져요.
  • 줄바꿈 없는 공백은 숫자와 단위 사이처럼 일부 조판에서는 맞는 표기예요. 일부 프랑스어 문장부호에서도 써요. 잘못 들어간 것이 분명할 때만 바꾸세요.
  • 정리한 뒤에는 텍스트 비교 도구로 원본과 대조하면 무엇이 바뀌었는지 정확히 볼 수 있어요.

자주 묻는 질문

숨은 문자가 있으면 AI가 쓴 글인가요?

아니요. 웹 페이지, 워드 프로세서, 채팅 앱, 그리고 복사하고 붙여넣는 과정 전반에서 생길 수 있어요. 이런 문자가 있다고 해서 누가 또는 무엇이 글을 썼는지 알 수는 없어요.

ASCII가 아닌 문자를 모두 지우면 해결되나요?

아니요. 악센트 문자, 따옴표, 다른 언어의 글자까지 함께 지워지게 돼요. 대신 보이지 않는 특정 코드 포인트만 지우세요.

문자열에 숨은 문자가 있는지 어떻게 알 수 있나요?

눈에 보이는 글자 수와 실제 길이를 비교해 보세요. 코드 포인트를 보여 주는 도구에 붙여넣어도 좋아요. 두 값이 다르다면 보이지 않는 문자가 들어 있는 거예요.

AI 도움을 받아 영어 원문에서 번역했어요.

댓글

    아직 댓글이 없어요. 첫 댓글을 남겨 보세요.

    별점 (선택)

    이메일은 공개되거나 보관되지 않아요.

    How to Remain Valuable When Intelligence Becomes Cheap 표지How to Remain Valuable When Intelligence Becomes Cheap

    AI가 대부분의 인지 업무를 해낼 때도 여전히 희소한 인간적, 경제적, 전략적 강점을 다룬 224쪽 분량이에요.

    $3.84Gumroad에서 받기영어로 보기