본문으로 건너뛰기
AZ Tools

문자열 이스케이프 변환기

한 입력으로 10개 컨텍스트 이스케이프 출력 — JavaScript, JSON, HTML 엔티티, URL, SQL, regex, Bash(단·이중 따옴표), C 문자열, Unicode \u. 필요한 것을 복사.

입력 (원본 문자열)
컨텍스트별 이스케이프
  • JavaScript 문자열
    Hello \"world\"!\nLine with \'quotes\' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: 한글 日本語 🎉\nSQL danger: \'; DROP TABLE users; --
  • JSON.stringify
    "Hello \"world\"!\nLine with 'quotes' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: 한글 日本語 🎉\nSQL danger: '; DROP TABLE users; --"
  • HTML 엔티티
    Hello &quot;world&quot;!
    Line with &#39;quotes&#39; &amp; &lt;html&gt; tags.
    Path: C:\Users\you\file.txt
    Unicode: 한글 日本語 🎉
    SQL danger: &#39;; DROP TABLE users; --
  • URL (퍼센트 인코딩)
    Hello%20%22world%22!%0ALine%20with%20'quotes'%20%26%20%3Chtml%3E%20tags.%0APath%3A%20C%3A%5CUsers%5Cyou%5Cfile.txt%0AUnicode%3A%20%ED%95%9C%EA%B8%80%20%E6%97%A5%E6%9C%AC%E8%AA%9E%20%F0%9F%8E%89%0ASQL%20danger%3A%20'%3B%20DROP%20TABLE%20users%3B%20--
  • SQL 리터럴 (단일 따옴표)
    'Hello "world"!
    Line with ''quotes'' & <html> tags.
    Path: C:\Users\you\file.txt
    Unicode: 한글 日本語 🎉
    SQL danger: ''; DROP TABLE users; --'
  • 정규식 (메타문자)
    Hello "world"!
    Line with 'quotes' & <html> tags\.
    Path: C:\\Users\\you\\file\.txt
    Unicode: 한글 日本語 🎉
    SQL danger: '; DROP TABLE users; --
  • Bash '단일 따옴표'
    'Hello "world"!
    Line with '\''quotes'\'' & <html> tags.
    Path: C:\Users\you\file.txt
    Unicode: 한글 日本語 🎉
    SQL danger: '\''; DROP TABLE users; --'
  • Bash "이중 따옴표"
    "Hello \"world\"!
    Line with 'quotes' & <html> tags.
    Path: C:\\Users\\you\\file.txt
    Unicode: 한글 日本語 🎉
    SQL danger: '; DROP TABLE users; --"
  • C 문자열 리터럴
    "Hello \"world\"!\nLine with 'quotes' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: \ud55c\uae00 \u65e5\u672c\u8a9e \U0001f389\nSQL danger: '; DROP TABLE users; --"
  • Unicode \uXXXX
    Hello "world"!
    Line with 'quotes' & <html> tags.
    Path: C:\Users\you\file.txt
    Unicode: \ud55c\uae00 \u65e5\u672c\u8a9e \u{1f389}
    SQL danger: '; DROP TABLE users; --

모두 단방향(원본 → 이스케이프). 역방향이 필요하면 HTML 디코더 / URL 디코더 / JSON.parse 도구를 참고하세요.

사용법

  1. 입력 박스에 문자열을 그대로 붙여넣기(따옴표 불필요).
  2. 각 형식별로 이스케이프 결과가 나란히 표시됨.
  3. 붙여넣을 컨텍스트에 맞는 결과를 복사.

자세한 설명

펼치기

임의의 문자열을 입력하면 흔히 붙여넣는 모든 컨텍스트에 맞춰 이스케이프된 결과를 한꺼번에 보여줍니다: JavaScript 문자열 리터럴(\n, \t, \", \\, 제어문자), JSON(JSON.stringify 사용), HTML 엔티티(&amp;, &lt;, &gt;, &quot;, &#39;), URL 퍼센트 인코딩, SQL 단일 따옴표 리터럴(아포스트로피 더블링), regex 메타문자 이스케이프(.*+?(){}[]|^$\), Bash 단·이중 따옴표(각자 다른 규칙), C 문자열 리터럴(제어문자는 3자리 8진수 \ooo, 비-ASCII는 \uXXXX), 비-ASCII 문자에 대한 순수 Unicode 이스케이프. 한 번 입력, 10가지 즉시 사용 가능한 출력.

자주 묻는 질문

왜 Bash가 2개 있나요?

단일 따옴표 문자열은 ' 외에는 모두 리터럴 — 따라서 '\'' 닫고-열기 트릭 사용. 이중 따옴표 문자열은 $VAR, 백틱, \\, \"를 해석하므로 백슬래시가 필요합니다. 규칙이 다르며, 변수 확장이 필요한지에 따라 선택.

JavaScript와 JSON의 차이는?

JSON이 더 엄격: 이중 따옴표만 허용(단일 불가), 이스케이프는 \\, \", \/, \b, \f, \n, \r, \t, \uXXXX만 가능. JavaScript는 단일 따옴표, 템플릿 리터럴, hex/octal 이스케이프, \u{XXXX}도 허용. .json 파일 생성 시 JSON, .js 소스 작성 시 JS.

왜 SQL이 단일 따옴표인가요?

표준 SQL은 문자열 리터럴에 단일 따옴표 사용; 이중 따옴표는 식별자(테이블·컬럼명)용. 문자열 안에 아포스트로피를 넣으려면 두 개로: it''s. PostgreSQL·MySQL·SQLite·표준 ANSI SQL 모두 호환.

한 번 이스케이프해서 어디서나 쓰면 안 되나?

안 된다. 그렇게 하려는 시도에서 주입 취약점이 생긴다. 이스케이프는 목적지가 정의한다. 같은 따옴표가 JSON에서는 무해하고, SQL에서는 구조를 이루며, 셸에서는 메타문자다. 그래서 한 맥락을 위해 이스케이프한 값은 다른 맥락에서는 그냥 틀린 값이다. 값이 쓰이는 경계에서, 그 목적지를 위해, 한 번만 이스케이프하고 나머지 어디서든 원래 값을 유지하라.

SQL에서 이스케이프보다 파라미터를 써야 하는 이유는?

이스케이프는 매번 내가 정확해야 한다는 부담을 지우고, 그 규칙은 데이터베이스와 연결의 문자셋과 실행 모드에 따라 달라지기 때문이다. 파라미터는 그 질문 자체를 없앤다. 값이 문장의 텍스트가 되지 않으므로, 값의 내용이 문장이 하는 일을 바꿀 수 없다. 손으로 하는 SQL 이스케이프는 파라미터 바인딩이 안 되는 도구를 위한 최후 수단으로 두어라.

관련 도구