인코딩과 이스케이프

문자열 이스케이프표현과 실제 값을 함께 확인

문맥과 따옴표 형식을 선택한 뒤 문자열을 변환하세요.

문자열 이스케이프

입력

결과

문자별 검사

인코딩에서는 원래 값, 디코딩에서는 복원한 값을 검사합니다. 코드 포인트별로 표시하며 고립 서로게이트 단위는 별도로 표시합니다.

변환은 현재 브라우저 안에서 실행되며 입력을 업로드하지 않습니다.

변환 옵션

문맥을 직접 선택하세요. JSON은 엄격한 문자열 문법, JavaScript는 명시된 일부 문법을 지원합니다. 유니코드는 선택한 표기만 허용하며 한 번에 한 겹을 복원합니다.

입력은 1,048,576 UTF-16 단위, 출력은 4,194,304 단위까지입니다. 붙여넣기 과정에서 줄바꿈 형식이 바뀔 수 있습니다.

텍스트를 입력하거나 예제를 불러오세요.

현재 결과를 새 입력으로 미리 확인한 뒤 적용하면 방향이 바뀝니다. 한 번 실행 취소하여 이전 상태를 복원할 수 있습니다. 결과가 입력 한도인 1,048,576 단위를 넘으면 반대 방향 변환을 사용할 수 없습니다.

문자열 이스케이프 도구는 API에 보낼 문장에 따옴표가 들어 있거나 로그의 줄바꿈 표현을 원래 문자로 읽어야 할 때 유용합니다. 화면에 보이는 역슬래시와 n은 실제 줄바꿈 한 문자와 다르므로, 변환할 문맥부터 맞추는 것이 좋습니다.

JSON escape 작업은 문서 전체를 정리하는 작업과 구별됩니다. 이 페이지는 문자열 하나의 표현을 바꾸고, 한 번의 언이스케이프로 한 겹만 복원합니다. 문자별 표에서 한글, 이모지, 보이지 않는 제어 문자의 실제 값을 살펴볼 수 있습니다.

문자열 이스케이프를 사용하는 이유

문맥에 맞게 따옴표 처리

문자열 이스케이프는 JSON과 JavaScript 규칙을 구분합니다. JSON은 큰따옴표만 사용하고 JavaScript는 선택한 따옴표에 맞춥니다. 내용만 모드에서도 문법을 검사하며, 입력의 따옴표를 추측해서 제거하지 않습니다.

원문의 따옴표와 줄바꿈이 이스케이프 표기로 바뀌고 바깥 따옴표가 추가되는 그림.

글자 수가 다른 이유 확인

이모지 하나가 코드 포인트 하나이면서 UTF-16 단위 두 개일 수 있습니다. 표는 두 수치를 구분하고 짝이 없는 서로게이트도 표시합니다. 보이는 글자 수만으로 판단하기 어려운 길이 문제를 확인할 수 있습니다.

이모지가 위쪽의 UTF-16 단위 D83D와 DE00, 아래쪽의 코드 포인트 1F600에 대응하는 그림.

형식을 맞춘 뒤 변환하기

01

바깥 따옴표부터 확인

기본값은 큰따옴표를 포함한 JSON 문자열입니다. 따옴표 없이 내용만 가져왔다면 내용만 모드를 선택하세요. JavaScript 리터럴을 복원할 때는 선택한 따옴표와 입력의 바깥 따옴표가 일치해야 합니다.

02

자동 또는 직접 실행 선택

자동 변환은 편집 후 350밀리초 뒤 실행됩니다. 끄면 변환 버튼이 표시되며 Ctrl/Cmd+Enter로도 실행할 수 있습니다. 입력이나 옵션을 바꾸면 이전 결과의 내보내기는 새 변환이 성공할 때까지 중지됩니다.

03

교체 내용을 보고 적용

예제, 지우기, 반대 방향 변환은 미리보기를 확인한 뒤 적용합니다. 실행 취소는 이전 상태 한 번을 복원합니다. 결과는 20,000 UTF-16 단위까지, 문자 표는 처음 50개에서 최대 100개까지 표시합니다.

문자열을 자세히 살펴보는 기능

한글을 읽기 쉬운 상태로

JSON과 JavaScript는 기본적으로 한글 등 비ASCII 문자를 그대로 둡니다. 필요한 경우 비ASCII 이스케이프를 켜세요. 결합 문자를 합치는 유니코드 정규화는 수행하지 않습니다.

유니코드 표기 두 가지

유니코드 모드는 ASCII를 포함한 모든 문자를 변환합니다. UTF-16 단위마다 \uXXXX를 쓰거나 코드 포인트마다 \u{…}를 쓸 수 있습니다. 복원할 때도 선택한 표기만 허용합니다.

오류가 있는 위치 표시

위치를 알 수 있는 잘못된 이스케이프에는 행과 열을 표시합니다. 불완전한 입력을 자동으로 고치거나 일부만 변환한 결과를 성공한 값으로 반환하지 않습니다.

정확한 값이 담긴 보고서

JSON 보고서는 입력, 출력, 실제 값, 옵션과 최대 100개 문자 항목을 포함합니다. UTF-8 텍스트로는 그대로 보존할 수 없는 고립 서로게이트도 이스케이프된 문자열로 보관합니다.

지원 문법과 처리 한도

엄격한 JSON 문자열 하나
표준 JSON 이스케이프와 \uXXXX만 허용합니다. 원시 C0 제어 문자, 이스케이프하지 않은 큰따옴표, \xHH, \v, \u{…}는 거부합니다. 리터럴 바깥의 스페이스, TAB, CR, LF는 허용하지만 내용만 모드에서는 앞뒤를 자르지 않습니다.
일부 JavaScript 문자열 문법
일반 이스케이프, \xHH, \uXXXX, \u{…}와 역슬래시 줄 연속을 지원합니다. \0 뒤에는 숫자가 올 수 없습니다. 원시 LF와 CR은 거부하고 U+2028과 U+2029는 보존합니다. 임의 문자 이스케이프, 8진수, 템플릿, 표현식은 지원하지 않습니다.
유니코드 형식 자동 감지 없음
복원할 때 일반 텍스트는 남기지만 모든 역슬래시는 선택한 형식의 완전한 이스케이프를 시작해야 합니다. \n이나 다른 표기와의 혼용은 허용하지 않습니다. 중괄호 안 값은 10FFFF 이하여야 하며 고립 서로게이트 값도 보존하므로 스칼라 값만의 표기는 아닙니다.
고립 서로게이트를 대체하지 않음
결과에 고립 서로게이트가 있으면 복사와 TXT 다운로드를 끄고 JSON 보고서로 보존합니다. 결과 자체가 ASCII 이스케이프 표현이라면 일반 내보내기를 사용할 수 있습니다. 붙여넣기는 줄바꿈 형식을 바꿀 수 있습니다.
미리보기와 실제 한도 구분
입력은 1,048,576, 출력은 4,194,304, 보고서는 16,777,216 UTF-16 단위까지입니다. 초과하면 전체 작업이 실패합니다. 결과 미리보기 20,000단위 및 문자 표 100개 제한은 실제 결과를 잘라내지 않습니다.
표현 변환만 수행
한 번에 한 겹만 복원하며 자동 재귀 처리는 하지 않습니다. JavaScript 실행, JSON 객체 정리, 파일 가져오기, URL 조회, HTML 정화는 제공하지 않습니다. 문자열 따옴표 처리만으로 HTML 스크립트 삽입의 안전성을 보장하지 않습니다.

문자열 이스케이프 자주 묻는 질문

어떤 문자를 이스케이프하나요?

JSON에서는 큰따옴표, 역슬래시, U+0000–U+001F 제어 문자를 이스케이프합니다. JavaScript는 선택한 따옴표와 지원 문법을 따릅니다. 문자열 이스케이프의 유니코드 모드는 ASCII를 포함한 모든 문자를 표기로 바꿉니다.

이스케이프된 문자열을 원문으로 되돌릴 수 있나요?

언이스케이프를 선택하고 생성 당시의 문맥과 문자열 형식을 맞추면 한 겹을 복원합니다. 유니코드 정규화 없이 UTF-16 값을 보존하지만 붙여넣기 과정에서 줄바꿈이 바뀔 수 있습니다. 고립 서로게이트가 있으면 JSON 보고서를 사용하세요.

JSON 전체를 검사해 주나요?

아니요. 문자열 값 하나를 변환하는 도구입니다. JSON 객체나 배열의 구조를 검사하거나 들여쓰기를 정리하지 않습니다. 문서 전체를 문자열로 이스케이프하는 것과 그 문서의 JSON 구조를 검증하는 것은 다릅니다.

한글도 유니코드 이스케이프로 바뀌나요?

JSON과 JavaScript에서는 비ASCII 이스케이프 옵션을 켜면 한글도 변환됩니다. 독립 유니코드 모드는 이 옵션과 관계없이 모든 문자를 변환합니다. 한글의 조합 형태는 정규화하지 않고 입력 그대로 보존합니다.

두 번 이스케이프된 문자열은 어떻게 복원하나요?

첫 번째 결과를 확인한 뒤 필요한 경우 한 번 더 언이스케이프하세요. 도구는 역슬래시가 사라질 때까지 자동으로 반복하지 않습니다. 각 단계의 따옴표 포함 여부와 문맥을 다시 맞춰야 원치 않는 변화를 피할 수 있습니다.

변환 중 문제를 발견하셨나요?

실제 문자열로 확인하세요

문자열 이스케이프로 따옴표, 줄바꿈, 이모지가 섞인 짧은 예제를 변환한 뒤 값을 확인하고 내보내세요.