보이지 않는 문자 탐지기

텍스트를 붙여 넣으면 탐지기가 포함된 모든 보이지 않는 문자를 보고합니다: 폭 0 공백, 방향 표시, BOM, 소프트 하이픈, 줄바꿈 없는 공백, 그리고 빈 공간처럼 보이지만 검색·diff·복사 붙여넣기를 망가뜨리는 유니코드 제어 코드 포인트 무리. 각 적중은 코드 포인트(U+200B), 공식 유니코드 이름, 문자열 내 위치와 함께 나오므로, 제거하기 전에 정체불명의 버그가 숨은 곳을 짚어낼 수 있습니다.

보이지 않는 문자를 탐지하는 방법

  1. 1

    텍스트 붙여넣기

    의심스러운 문자열을 넣으세요: 코드 조각, 복사한 메시지, 설정 값.

  2. 2

    스캔 실행

    도구가 모든 코드 포인트를 순회하며 보이지 않는/포맷 문자 목록과 일치하는 것을 표시합니다.

  3. 3

    보고서 검토

    각 적중이 위치(1부터), `U+HHHH` 형식의 코드 포인트, 유니코드 이름(폭 0 공백, BOM 등)을 보여줍니다.

  4. 4

    텍스트 정리

    바꾸기 동작으로 숨은 문자를 제거하거나 시각화한 뒤, 정제된 버전을 다시 붙여 넣으세요.

보이지 않는 문자와 그 출처

이 문자들은 정당한 이유(텍스트 레이아웃, 문자 방향, 결합 문자)로 존재합니다. 설계된 맥락을 벗어나 코드, 설정, 검색 질의, 사용자 이름으로 새어 나올 때 버그가 됩니다.

탐지기가 찾는 문자

코드 포인트 이름 보통 끼어드는 곳
U+200B 폭 0 공백 리치 텍스트 에디터, 워드 프로세서
U+200C 폭 0 비결합자 페르시아어, 힌디어 타이포그래피
U+200D 폭 0 결합자 이모지 시퀀스, 인도계 문자
U+200E 좌→우 표시 LTR과 RTL 문자를 모두 담은 텍스트
U+200F 우→좌 표시 동일
U+202A..E 삽입 / 재정의 동일; 때때로 악의적으로 사용(Trojan Source)
U+2028 줄 구분자 Word에서 복사, JSON 인코더를 깨뜨림
U+2029 문단 구분자 동일
U+FEFF 바이트 순서 표식(BOM) 메모장에서 UTF-8 with BOM으로 저장한 파일
U+00A0 줄바꿈 없는 공백 Word의 타이포그래피 공백
U+00AD 소프트 하이픈 리치 텍스트의 하이픈 처리 힌트

숨은 문자 버그의 흔한 증상

  • “같아야 하는” 문자열 비교가 같지 않음. 값을 이 도구에 복사해 바이트 수를 확인하세요.
  • 눈으로는 매치되는 정규식이 코드에서 실패. 종종 공백 행세를 하는 U+00A0.
  • JSON 파서가 붙여 넣은 페이로드에서 크래시. 보통 시작의 BOM, 또는 JavaScript가 JSON 안에서 거부하는 문자열 리터럴의 U+2028.
  • SEO 제목 길이가 틀림. 폭 0 공백이 눈에 보이는 변화 없이 한도를 넘기게 합니다.

Trojan Source 측면

양방향 오버라이드 문자(U+202E, U+2066..U+2069)는 소스 코드가 한 순서로 렌더링되면서 다른 순서로 컴파일되게 할 수 있습니다, “Trojan Source” 부류의 공격입니다. 신뢰할 수 없는 기여자의 코드를 검토한다면 병합 전에 그들의 diff를 이 탐지기에 돌리세요.

자주 묻는 질문

메모장과 일부 구형 Windows 도구는 기본으로 “UTF-8 with BOM”을 씁니다. BOM(U+FEFF)은 Windows 앱에는 괜찮지만, 많은 셸 파이프라인, PHP 파일(BOM이 <?php 태그 앞에 출력으로 나옴), JSON 파서를 깨뜨립니다.

화면에서는 일반 공백처럼 보이지만 다르게 동작합니다: 줄바꿈을 허용하지 않고 모든 언어의 대부분 \s 정규식 변형에 매치되지 않습니다. 리치 텍스트 소스에서 복사한 파일 경로, 이메일 주소, 사용자 이름에 종종 들어갑니다.

항상은 아닙니다. 아랍어, 페르시아어, 데바나가리 텍스트에서는 폭 0 조이너와 논조이너가 의미상 필요합니다. 코드, 설정, 대부분의 영어 텍스트에서는 자유롭게 제거하세요. 자연어 콘텐츠에서는 제거 전에 탐지기로 검사하세요.

아니요, 분석은 현재 요청에 대해 실행되며, 응답이 만들어진 후 붙여 넣은 것은 저장되거나 기록되지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다