{ }JSONKit.tools

URL 디코딩 (온라인)

%20과 그 동료들을 읽을 수 있는 텍스트로 되돌립니다. 구성 요소는 모두 디코딩하고, 전체 URL은 주소에 구조를 주는 예약 문자를 남겨 둡니다.

인코딩⇄디코딩
모드

인코딩됨

텍스트

입력을 기다리는 중…

이 도구에 대하여

퍼센트 인코딩된 텍스트는 원래 읽을 수 없게 되어 있고, 정작 중요한 부분(리디렉션 대상, 검색어, 서명된 콜백)이 대체로 가장 심합니다. 디코딩은 원래 문자를 되살리며 퍼센트 이스케이프를 UTF-8로 읽으므로 비라틴 문자가 제대로 돌아옵니다. 문자열이 잘렸거나 떠도는 %가 있으면 망가진 결과 대신 분명한 오류를 알려 줍니다.

사용 방법

  1. 1인코딩된 텍스트를 왼쪽 패널에 붙여넣습니다.
  2. 2값 하나면 구성 요소를, 완전한 주소면 전체 URL을 씁니다.
  3. 3읽을 수 있게 된 텍스트를 복사합니다. 반대 방향은 URL 인코딩 페이지입니다.

자주 묻는 질문

›디코딩했는데 공백 자리에 + 기호가 남아 있습니다.

폼 전송은 공백을 %20이 아니라 +로 부호화하며, 그 관례는 폼 본문에 속하지 URL 일반에 속하지 않습니다. 문자열이 HTML 폼에서 왔다면 디코딩 전에 +를 공백으로 바꾸세요.

›"URI malformed"는 무슨 뜻인가요?

입력의 % 뒤에 유효한 16진수 두 자리가 오지 않았거나, 이스케이프가 유효한 UTF-8을 이루지 않는다는 뜻입니다. 대개 문자열이 잘렸거나, 리터럴 %가 %25로 부호화되지 않은 경우입니다.

›구성 요소와 전체 URL 중 무엇을 써야 하나요?

구성 요소는 모두 디코딩하므로 쿼리 문자열에서 꺼낸 값 하나에 적합합니다. 전체 URL은 예약 문자(& = ? / #)를 인코딩된 채로 두어, 주소 전체를 디코딩해도 이스케이프된 슬래시가 구조로 바뀌지 않게 합니다.

›문자열이 두 번 인코딩된 이유는?

이중 인코딩입니다. %2520은 %20을 한 번 더 인코딩한 것으로, 값이 인코딩 단계를 두 번 거쳤다는 뜻입니다. 한 번 더 디코딩하면 원본이 나옵니다.

›쿼리 문자열 전체를 한 번에 디코딩할 수 있나요?

할 수는 있지만, 전체를 먼저 디코딩하면 진짜 구분자와 값의 일부였던 &를 구별할 수 없게 됩니다. 먼저 &와 =로 나눈 다음 조각마다 디코딩하세요.