문자열 이스케이프
String Escaper
JSON·자바스크립트·SQL·셸·CSV·정규식 규칙에 맞게 문자열을 이스케이프하고 되돌립니다.
문자열 리터럴 안에 붙여넣을 수 있도록 텍스트를 이스케이프하고 다시 되돌립니다. JSON, JavaScript, Python, Java, C#, SQL, 셸 명령, CSV 필드, 정규식까지 대상별로 규칙이 다릅니다. 그 차이가 바로 주입 버그가 사는 자리입니다.
RFC 8259: `\" \\ \/ \b \f \n \r \t`, 나머지는 `\uXXXX`. `\'`도 `\x`도 `\0`도 없습니다.
텍스트
이스케이프된 값
입력
0자
출력
0자
사용 방법
대상 언어를 고릅니다
고르는 칸 아래에 그 대상이 실제로 무엇을 이스케이프하는지 적혀 있습니다. JSON은 JavaScript보다 엄격하고, 템플릿 리터럴은 신경 쓸 글자가 둘 더 있으며, 작은따옴표 셸과 큰따옴표 셸은 아예 다른 문제입니다.
원문을 붙여넣습니다
줄바꿈, 따옴표, 비ASCII를 모두 처리합니다. 나오는 것은 리터럴의 *안쪽*입니다. 감싸는 따옴표는 직접 붙이세요.
"되돌려도 같음"을 확인합니다
출력 아래의 항목이 결과를 다시 되돌려 입력과 비교합니다. 아니오가 나오면 이 대상에서는 이스케이프가 손실이 있다는 뜻이고, 붙여넣을 문자열은 원래 문자열이 아닙니다.
자주 묻는 질문
이스케이프하면 SQL이 안전해지나요?
아닙니다. 리터럴을 이스케이프하는 것과 파라미터 바인딩은 다릅니다. 이 도구는 데이터베이스의 인용 모드도, 문자셋도, 그 값이 따옴표가 구분자가 아닌 자리로 가는지도 알 수 없습니다. 바인딩 파라미터를 쓰세요. 이건 쿼리를 읽을 때 쓰는 것이지 운영용 쿼리를 만드는 도구가 아닙니다.
SQL 모드는 왜 백슬래시를 안 쓰나요?
표준 SQL에는 백슬래시 이스케이프가 없기 때문입니다. 따옴표는 두 번 씁니다. 백슬래시 이스케이프는 MySQL의 확장이고, 그게 있다고 가정한 코드에서 주입 사고가 꽤 나왔습니다. MySQL 동작이 필요하다면 그건 의식적으로 택할 일입니다.
`\uXXXX` 대상은 뭘 하나요?
비ASCII 글자를 전부 `\uXXXX` 이스케이프로 바꿉니다. 서로게이트 쌍도 포함합니다. 더 쓸모 있는 건 반대 방향입니다. ASCII만 다루는 파이프라인이 망가뜨린 properties 파일이나 로그를 되돌리면 한글이 돌아옵니다.
작은따옴표 셸이면 어떤 문자열이든 정말 안전한가요?
문자열 자체로는 그렇습니다. POSIX 작은따옴표 안에서는 아무것도 뜻을 갖지 않고 따옴표는 `'\''`로 씁니다. 다만 호출하는 프로그램이 인자를 해석하는 것이나 POSIX가 아닌 셸까지 막아 주지는 않습니다. 인용 규칙이지 샌드박스가 아닙니다.
이 도구로 이어지는 것
SQL 정렬
SQL Formatter
키워드 대소문자·들여쓰기·쉼표 위치를 정해 주요 방언의 SQL을 정렬합니다.
HTML 엔티티 변환
HTML Entity Encoder
HTML 엔티티를 이스케이프하고 되돌리며 이름·10진수·16진수 표기를 지원합니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.
YAML 정렬·검사
YAML Formatter & Validator
YAML 들여쓰기를 통일하고 문법을 검사하며, 파서를 깨뜨리는 탭·앵커 실수를 표시합니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
HTML 엔티티 변환
HTML Entity Encoder
HTML 엔티티를 이스케이프하고 되돌리며 이름·10진수·16진수 표기를 지원합니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.
목록 형식 변환
List Formatter
여러 줄을 쉼표 목록·따옴표가 붙은 SQL IN 절·JSON 배열·불릿 목록으로 바꾸고 되돌립니다.
SQL 정렬
SQL Formatter
키워드 대소문자·들여쓰기·쉼표 위치를 정해 주요 방언의 SQL을 정렬합니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.