문자열 이스케이프

🔐 인코딩

JSON·JS·HTML·URL·RegEx·SQL 등 형식별 이스케이프/언이스케이프를 수행합니다.

🔤 문자열 이스케이프란?

이스케이프는 특수 의미를 가진 문자를 "진짜 그 문자"라고 표시해 두는 작업입니다. 데이터를 한 컨텍스트에서 다른 컨텍스트로 옮길 때 파서의 오해를 막아 줍니다. 예를 들어 JSON 문자열 안의 "는 문자열 끝으로 해석되므로 \"로 바꿔야 하고, SQL 안의 작은따옴표는 두 번 겹쳐 ''로 만들어야 인젝션이 차단됩니다. 이 도구는 JSON, JavaScript, HTML, URL, Regex, SQL 여섯 가지 컨텍스트를 한 곳에서 처리하며 300ms 디바운스로 자동 변환됩니다.

📋 형식별 이스케이프 규칙

JSON / JavaScript

\\, ", ', 줄바꿈(\\n), 탭(\\t) 등을 백슬래시로 이스케이프합니다.

HTML

<, >, &, ", ' 등을 HTML 엔티티(&lt; 등)로 변환합니다.

Regex

정규식 메타 문자 . * + ? ^ $ 등을 \\로 이스케이프합니다.

SQL

작은따옴표(')를 두 번('')으로 이스케이프하여 SQL 인젝션을 방지합니다.

🧪 자주 쓰는 미니 시나리오

  • 로그에서 가져온 JSON을 코드에 박을 때: 따옴표와 줄바꿈이 섞여 있으면 IDE가 빨갛게 표시합니다. JSON 모드로 한 번 이스케이프하면 그대로 변수 값으로 사용할 수 있습니다.
  • 운영자 입력으로 SQL을 만들 때: 정석은 파라미터 바인딩이지만, 점검 스크립트에서 즉석으로 쿼리를 짤 때 SQL 모드로 작은따옴표를 두 번화하면 안전합니다.
  • 특정 단어를 정규식으로 찾을 때: 파일 경로 C:\\Users\\name을 그대로 패턴에 넣으면 \\U가 메타로 해석됩니다. Regex 모드로 변환해서 안전한 패턴을 얻습니다.
  • 마크다운 본문에 코드 예시를 넣을 때: HTML 모드로 변환해 두면 백틱이 부족한 렌더러에서도 태그가 깨지지 않습니다.

🔒 보안 주의

이스케이프를 건너뛰면 XSS, SQL 인젝션으로 이어집니다. 2008년 이후 OWASP Top 10에 인젝션 계열이 꾸준히 등장하는 이유입니다. SQL은 가능하면 파라미터 바인딩을 우선 사용하세요.

자주 묻는 질문

이스케이프를 하지 않으면 어떤 문제가 생기나요?

단순 구문 오류부터 데이터 손실, XSS, SQL 인젝션 같은 보안 사고까지 이어집니다. 2008년 이후 OWASP Top 10에 인젝션 계열이 꾸준히 등장하는 이유이기도 합니다. 사용자 입력은 출력 컨텍스트별로 매번 이스케이프해야 합니다.

JSON과 JavaScript 이스케이프의 차이는?

JSON 표준(RFC 8259)은 문자열 구분자로 큰따옴표만 인정하기 때문에 작은따옴표는 그대로 둬도 됩니다. 반면 JavaScript는 두 따옴표를 모두 쓸 수 있고 \0(널 문자), \v(수직 탭) 같은 추가 이스케이프 시퀀스가 있습니다. 이 도구의 JavaScript 모드는 \0까지 함께 처리합니다.

실시간 자동 변환은 어떻게 동작하나요?

입력이 멈춘 후 300ms 뒤에 변환을 실행합니다. 디바운스 덕분에 빠르게 타이핑해도 매번 변환이 일어나지 않아 부드럽고, 모드나 형식 버튼을 누르면 즉시 다시 계산됩니다.

관련 도구

광고