# 문자열 이스케이프와 언이스케이프

JSON·JavaScript 문자열, SQL 문자열, CSV 필드, 정규식 또는 셸 단어에 맞게 텍스트를 이스케이프하거나 이스케이프를 되돌립니다.

https://codeknife.dev/ko/eseukeipeu/

## 기능

텍스트를 JSON·JavaScript 문자열, SQL 문자열, CSV 필드, 정규식 또는 셸 단어 안에 넣을 수 있도록 이스케이프하고, 이스케이프를 되돌립니다. 각 형식은 필요한 문자만 정확히 이스케이프합니다.

## 사용 방법

1. 텍스트를 입력하거나 붙여넣거나 텍스트 파일을 놓으세요.
2. 텍스트가 갈 곳(**JSON 문자열**, **JavaScript 문자열**, **SQL 문자열**, **CSV 필드**, **정규식**, **셸 단어**)과 **이스케이프**할지 **언이스케이프**할지 고르세요.
3. 결과를 복사하거나 다운로드하거나 **출력을 입력으로 사용**로 다음 입력으로 만드세요.

## 예시

`He said "it's fine"`와 줄바꿈 이스케이프:

JSON은 `He said \"it's fine\"\n`, SQL은 `He said "it''s fine"`, 셸은 `'He said "it'\''s fine"'`를 줍니다.

## 알아두기

- JSON과 JavaScript는 백슬래시, 문자열을 감싸는 따옴표, 줄바꿈, 제어 문자를 이스케이프합니다. 언이스케이프는 `\n`, `\t`, `\uXXXX` 등을 읽고, JavaScript는 `\xHH`와 `\u{…}`도 읽습니다.
- SQL은 작은따옴표를 두 번 씁니다. 손으로 쓴 리터럴에는 맞지만 코드에서는 바인딩 매개변수를 쓰세요.
- CSV 필드는 쉼표, 따옴표, 줄바꿈이 있을 때만 따옴표로 감싸고 안의 따옴표는 두 번 씁니다.
- 셸 단어는 작은따옴표로 감싸고 안의 작은따옴표는 `'\''`로 써서 아무것도 확장되지 않게 합니다.

## 형식마다 이스케이프가 다른 이유는?

구문마다 특수 문자가 다릅니다. JSON 문자열은 따옴표, 백슬래시, 제어 문자를 이스케이프해야 합니다. SQL 문자열은 작은따옴표를 두 번 쓰기만 하면 됩니다. CSV 필드는 쉼표, 따옴표, 줄바꿈이 있으면 따옴표로 감쌉니다. 정규식은 연산자를 이스케이프하고, 셸 단어는 아무것도 확장되지 않도록 작은따옴표로 감쌉니다.

## 자주 묻는 질문

### 이스케이프만으로 SQL 인젝션을 막을 수 있나요?

아니요. 따옴표를 두 번 쓰는 것은 이 도구가 보여 주는 방식이며 손으로 쓴 쿼리의 리터럴에는 맞지만 코드의 방어책은 아닙니다. 값은 바인딩 매개변수로 전달해 SQL 텍스트의 일부가 되지 않게 하세요.

### JSON 문자열과 JavaScript 문자열은 어떻게 다른가요?

JSON은 몇 가지 이스케이프만 허용하고 항상 큰따옴표를 씁니다. JavaScript는 작은따옴표, \x41과 양쪽 따옴표 스타일의 이스케이프도 허용합니다. 따라서 JSON으로 언이스케이프하면 JavaScript가 받아들일 시퀀스를 거부합니다.

### 이 도구가 내 텍스트를 어딘가로 보내나요?

아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 저희 서버로 전송되지 않습니다.