URL 디코딩

아래에 퍼센트 인코딩된 URL 문자열을 붙여넣고 디코딩을 클릭하면 읽을 수 있는 텍스트로 변환됩니다. 모든 처리는 브라우저에서 로컬로 수행됩니다.

복사됨!

URL 디코딩이란?

URL 디코딩(퍼센트 디코딩)은 퍼센트 인코딩된 문자를 원래 형태로 다시 변환합니다. 예를 들어 %20은 공백이 되고 %26&가 됩니다.

이 도구는 + 기호도 공백으로 디코딩합니다(폼 데이터에서 흔히 사용됨).

돌려받는 결과를 결정하는 것은 두 가지 설정입니다. 문자 집합은 디코딩된 바이트가 어떻게 텍스트가 되는지를 정하며, UTF-8 이전의 것들에서 중요합니다. 더하기 기호 설정은 플러스가 공백을 뜻하는지를 정합니다. 폼 데이터에서는 맞고 경로에서는 틀리므로, URL에 실어 나른 base64 값은 잘못 고르면 망가집니다. 결과에 퍼센트 이스케이프가 남아 있으면 페이지가 알려 줍니다. 거의 언제나 그 값이 두 번 인코딩되었다는 뜻이기 때문입니다.

디코딩되지 않는 문제를 쫓고 계신가요?

디코딩되지 않는 페이로드는 대개 원인이 아니라 증상입니다. 파이프라인 어딘가의 이중 인코딩, 선언 대신 가정된 문자셋, 아무도 예상하지 않은 바이트 위에 서명된 토큰 같은 것들이죠. 저희는 바로 그런 일을 합니다. 연동과 API, 그리고 그 사이에서 데이터를 넘기는 시스템에서요.

어디가 깨지는지 알려 주세요

자주 묻는 질문

이 도구는 무엇을 디코딩할 수 있나요
퍼센트 인코딩된 텍스트라면 무엇이든 됩니다. 질의 문자열 값, 경로 조각, 리디렉션 대상, 로그에 남기기 전에 이스케이프한 URL 전체 같은 것들입니다. 각 %XX는 그것이 가리키는 바이트로 돌아가고, 그 바이트가 고른 문자 집합에서 텍스트가 됩니다.
더하기 기호가 왜 공백이 되었나요
폼 데이터가 공백을 더하기로 쓰기 때문입니다. 이 규칙은 x-www-form-urlencoded 본문과 질의 문자열에만 해당하므로, 더하기가 진짜 문자인 경로나 base64 값을 디코딩할 때는 꺼 두세요.
이중 인코딩 경고는 무슨 뜻인가요
결과에 아직 퍼센트 이스케이프가 남아 있다는 뜻이며, 값을 인코딩한 뒤 다른 시스템이 한 번 더 인코딩했을 때 생깁니다. 흔한 신호가 %2520입니다. 이것은 공백이 아니라 %20이 됩니다. 한 번 더 디코딩하면 원래 값에 닿습니다.
물음표나 이상한 글자가 나오는 이유는 무엇인가요
바이트를 한 문자 집합으로 인코딩하고 다른 문자 집합으로 디코딩했기 때문입니다. UTF-8 글자 하나를 Windows-1252로 읽으면 악센트 붙은 글자 두 개로 돌아옵니다. 텍스트가 제대로 읽힐 때까지 문자 집합을 바꿔 보세요.
여러 값을 한 번에 디코딩할 수 있나요
네. 한 줄에 하나씩 붙여 넣고 줄 단위 옵션을 켜면 값마다 따로 디코딩되고 출력도 같은 모양을 유지합니다. 로그 한 줄을 그대로 붙여 넣어도 됩니다. 바뀌는 것은 퍼센트 이스케이프뿐이기 때문입니다.