Oh MyUtils

문자열 이스케이프 & 언이스케이프 - 멀티 포맷 변환 온라인

JSON, HTML, URL, JavaScript, SQL, XML, CSV, RegEx 포맷의 문자열을 이스케이프 및 언이스케이프. 특수 문자를 즉시 변환 — 100% 클라이언트 사이드 처리.

모드
입력
출력

자주 묻는 질문

문자열 이스케이프란 무엇인가요?

문자열 이스케이프는 특수 문자를 안전한 표현으로 변환하여 JSON, HTML, SQL, URL 등의 컨텍스트에서 구문을 깨뜨리지 않고 사용할 수 있게 하는 과정입니다. 예를 들어 JSON 문자열 내의 큰따옴표는 \"로 이스케이프해야 합니다.

문자열 이스케이프/언이스케이프 도구를 어떻게 사용하나요?

탭에서 대상 형식(JSON, HTML, URL, JavaScript, SQL, XML, CSV, RegEx)을 선택하고, 모드 토글로 이스케이프 또는 언이스케이프를 선택한 후, 입력 필드에 텍스트를 입력하거나 붙여넣으세요. 결과가 즉시 출력 필드에 나타납니다.

이 도구를 사용할 때 데이터가 안전한가요?

네. 이 도구는 모든 데이터를 브라우저에서 100% 클라이언트 사이드로 처리합니다. 텍스트가 서버로 전송되지 않습니다. 페이지 로드 후 인터넷 연결을 끊어도 정상 작동하는 것으로 확인할 수 있습니다.

JSON 이스케이프와 JavaScript 이스케이프의 차이점은 무엇인가요?

JSON 이스케이프는 엄격한 RFC 8259 사양을 따르며 제한된 이스케이프 시퀀스만 사용합니다. JavaScript 이스케이프는 작은따옴표, 큰따옴표, 백틱으로 구분할 수 있어 더 넓은 범위의 이스케이프 시퀀스를 지원합니다.

URL 인코딩과 HTML 이스케이프는 언제 사용해야 하나요?

URL 인코딩(퍼센트 인코딩)은 쿼리 매개변수 등 URL에 특수 문자를 포함해야 할 때 사용합니다. HTML 이스케이프는 브라우저가 HTML 마크업으로 해석하지 않도록 특수 문자를 웹 페이지에 텍스트로 표시할 때 사용합니다.

SQL 이스케이프는 어떻게 SQL 인젝션을 방지하나요?

사용자 입력 문자열의 특수 문자(특히 작은따옴표 '→'', 백슬래시)를 이스케이프하면 공격자가 문자열 리터럴을 벗어나는 것을 방지합니다. 다만, 프로덕션 애플리케이션에서는 매개변수화된 쿼리(준비된 문장)를 사용하는 것이 권장됩니다.

언이스케이프 결과가 왜 이상하게 보이나요?

일반적인 원인: 잘못된 형식 선택(JSON으로 이스케이프된 문자열을 HTML로 언이스케이프하면 안 됨), 이중 이스케이프된 입력(언이스케이프를 다시 실행해 보세요), 같은 문자열에 혼합된 이스케이프 형식, 또는 잘못된 이스케이프 시퀀스.

코드 예제

// JSON Escape/Unescape
const escaped = JSON.stringify(text).slice(1, -1);
const unescaped = JSON.parse(`"${escaped}"`);

// HTML Escape
const entities = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' };
const escapeHtml = text => text.replace(/[&<>"']/g, c => entities[c]);

// URL Encode/Decode
const encoded = encodeURIComponent('hello world'); // hello%20world
const decoded = decodeURIComponent('hello%20world'); // hello world

// SQL Escape
const escapeSql = text => text.replace(/'/g, "''");
console.log(escapeSql("O'Brien")); // O''Brien

// RegEx Escape
const escapeRegex = text => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
console.log(escapeRegex('file.txt')); // file\.txt

관련 도구