문자열 이스케이프/언이스케이프

JSON, JavaScript, HTML, URL 문자열의 특수 문자를 이스케이프하거나 원래대로 복원하세요.

타입별 설명

JSON

JSON 문자열에서 특수 문자를 이스케이프합니다.

예: " → \", 개행 → \n

JavaScript

JavaScript 문자열 리터럴에서 사용하기 위해 이스케이프합니다.

예: ' → \', " → \"

HTML

HTML 엔티티로 변환하여 안전하게 표시합니다.

예: < → &lt;, & → &amp;

URL

URL에서 안전하게 사용할 수 있도록 퍼센트 인코딩합니다.

예: 공백 → %20, ? → %3F

이스케이프(Escape)란?

이스케이프는 특정 컨텍스트에서 특별한 의미를 가진 문자들을 일반 문자로 취급되도록 변환하는 과정입니다.

예를 들어, JSON 문자열에서 큰따옴표(")는 문자열의 끝을 나타내기 때문에, 문자열 안에 큰따옴표를 포함하려면 \"로 이스케이프해야 합니다.

타입별 이스케이프 가이드

JSON

JSON 문자열에서 이스케이프가 필요한 문자들:

"\"
\\\
개행\n
\t
캐리지리턴\r

사용 예: API 응답에서 문자열을 JSON으로 전송할 때

JavaScript

JavaScript 문자열 리터럴에서 이스케이프:

'\'
"\"
\\\
개행\n

사용 예: 동적으로 JavaScript 코드를 생성할 때

HTML

HTML에서 HTML 엔티티로 변환:

<&lt;
>&gt;
&&amp;
"&quot;
'&apos;

사용 예: XSS 공격 방지, 사용자 입력 표시

URL

URL 퍼센트 인코딩 (Percent Encoding):

공백%20
?%3F
&%26
=%3D
#%23

사용 예: URL 쿼리 파라미터에 특수 문자 포함

주요 사용 사례

API 데이터 처리

JSON 응답에서 특수 문자가 포함된 문자열 처리

XSS 공격 방지

사용자 입력을 HTML에 안전하게 표시

URL 쿼리 생성

검색어나 파라미터에 특수 문자 포함

코드 생성

동적으로 JavaScript나 SQL 코드 생성

⚠️ 보안 주의사항

  • 사용자 입력은 항상 적절히 이스케이프해야 합니다
  • SQL 인젝션 방지를 위해 prepared statement를 사용하세요
  • HTML 이스케이프만으로는 XSS를 완전히 방지할 수 없습니다
  • 컨텍스트에 맞는 올바른 이스케이프 방법을 사용하세요

💡 팁

  • JSON.stringify()는 자동으로 JSON 이스케이프를 수행합니다
  • 브라우저의 encodeURIComponent()를 URL 인코딩에 사용하세요
  • 프레임워크(React, Vue 등)는 기본적으로 HTML 이스케이프를 제공합니다
  • 여러 단계의 이스케이프가 필요한 경우 순서에 주의하세요