URL 디코딩이란 무엇인가요?
URL 디코딩(퍼센트 디코딩이라고도 함)은 URL에서 인코딩된 문자를 원래 형태로 변환하는 과정입니다. 데이터가 URL을 통해 전송될 때 특수 문자는 퍼센트 기호(%)와 두 개의 16진수 숫자로 대체됩니다. 예를 들어 %20은 공백 문자를 나타내고 %26은 앰퍼샌드(&)를 나타냅니다.
무료 URL 디코더 – 브라우저에서 URL을 즉시 디코드/인코드. 빠르고 안전하며 설치 필요 없음.
인코딩된 URL을 복사하여 위의 입력 필드에 붙여넣으세요.
입력하는 동안 도구가 자동으로 실시간 URL을 디코드합니다.
복사 버튼을 클릭하여 디코딩된 URL을 클립보드에 저장하세요.
결과가 안정될 때까지 여러 레이어의 URL 인코딩을 자동으로 감지하고 디코드합니다.
국제 텍스트와 이모지를 포함한 UTF-8 인코딩 문자를 완벽하게 지원합니다.
잘못된 URL 인코딩을 식별하고 디버깅을 위한 명확한 오류 메시지를 제공합니다.
모든 처리는 브라우저에서 이루어집니다. 데이터가 기기를 떠나지 않습니다.
URL 퍼센트 인코딩 은 URL에서 특수 문자를 인코딩하는 데 사용되는 기본 메커니즘입니다. 다음과 같은 문자를 볼 때 %20 또는 %26, 이들은 특정 문자에 해당하는 16진수 값이 뒤따르는 퍼센트 기호(%)를 나타냅니다.
UTF-8 디코딩 은 URL에서 국제 문자를 처리하는 데 필수적입니다. 우리 도구는 UTF-8 인코딩 콘텐츠를 완벽하게 지원하여 중국어, 일본어, 아랍어 및 이모지 문자를 포함한 모든 언어의 문자가 포함된 URL을 디코드할 수 있습니다.
를 이해하는 것은 웹 개발에 중요합니다. URL은 프로토콜, 도메인, 경로, 쿼리 매개변수 및 프래그먼트 등 여러 부분으로 구성됩니다. 각 구성 요소는 다음과 같은 예약 문자를 포함할 때 인코딩이 필요할 수 있습니다: URL 구성 요소 ?, &, =, #.
REST API 디버깅. API로 작업할 때 인코딩된 쿼리 매개변수나 경로 세그먼트를 자주 만나게 됩니다. 이러한 URL을 빠르게 디코드할 수 있으면 API 요청의 문제를 식별하고 실제 전송되는 데이터를 이해하는 데 도움이 됩니다.
퍼센트 인코딩은 주소창보다 훨씬 많은 곳에서 만납니다. OAuth redirect_uri의 쿼리 문자열, 푸시 알림 안의 딥링크, 마케팅 이메일의 추적 링크, 웹 서버 로그에 기록된 경로 세그먼트 모두 인코딩된 데이터를 담고 있습니다. 손으로 디코딩하는 것은 느리고 실수하기 쉬워서, 이 페이지가 붙여넣는 즉시 대신 처리해 줍니다.
자주 헷갈리는 세부 사항이 하나 있습니다. HTML 폼 제출(application/x-www-form-urlencoded)에서는 + 기호가 공백을 의미합니다. 하지만 퍼센트 인코딩된 URL에서 +는 그냥 더하기입니다. 같은 입력이 출처에 따라 다르게 해석되는 이유가 바로 이것이며, 폼 스타일 데이터에서 문자 그대로의 더하기를 나타내기 위해 %2B가 존재하는 이유이기도 합니다. 이 디코더는 URL 표준을 따릅니다. 퍼센트 시퀀스를 디코딩하고 +는 그대로 둡니다.
다음 8가지 시퀀스가 실제 URL에서 보게 되는 대부분을 차지합니다. 게시 전에 이 표의 모든 매핑을 WHATWG URL 표준과 대조해 확인했습니다.
| 인코딩 | 디코딩 | 자주 보이는 곳 |
|---|---|---|
%20 | space | 대표 사례. 입력한 공백은 URL에서 항상 %20이 됩니다. |
%23 | # | 문자 그대로의 해시. 원본 #은 프래그먼트를 시작하므로 데이터일 때는 인코딩됩니다. |
%26 | & | 문자 그대로의 앰퍼샌드. 원본 &는 쿼리 매개변수를 나눠 버립니다. |
%3D | = | 문자 그대로의 등호. 원본 =는 키와 값을 구분합니다. |
%3F | ? | 문자 그대로의 물음표. 원본 ?는 쿼리 문자열을 시작합니다. |
%2B | + | 문자 그대로의 더하기. 쿼리 문자열에서 많은 서버가 그대로의 +를 공백으로 읽으므로 실제 더하기는 인코딩해야 합니다. |
%25 | % | 퍼센트 기호 자체. 항상 인코딩됩니다. 아니면 디코더가 시퀀스를 잘못 읽습니다. |
%2F | / | 값 안의 슬래시. 서버는 경로에서는 그대로 두지만 쿼리 데이터에서는 그대로 두지 않는 경우가 많습니다. |
브라우저 주소창에서 복사했을 법한 이 URL을 예로 들어 보겠습니다:
https://api.example.com/search?q=hello%20world&lang=zh%26en? 앞은 경로, 뒤는 쿼리 문자열입니다. 쿼리 안의 각 쌍은 &로 구분됩니다.
디코더는 hello%20world와 zh%26en 두 값을 읽고 각 퍼센트 시퀀스를 원래 문자로 되돌립니다.
q는 hello world가 되고 lang은 zh&en이 됩니다. zh%26en 안의 &는 구분자가 아니라 데이터이므로 디코딩해도 구조가 깨지지 않습니다.
JavaScript로 동일하게 디코딩하기:
const url = "https://api.example.com/search?q=hello%20world&lang=zh%26en";
const params = new URLSearchParams(new URL(url).search);
console.log(params.get("q")); // "hello world"
console.log(params.get("lang")); // "zh&en"실행하면 다음과 같이 출력됩니다:
hello world
zh&en한 번에 한 층씩. URL이 두 번 인코딩됐다면 소스에서 %2520이 보입니다. 첫 디코딩은 %20으로, 두 번째는 공백으로 바뀝니다. 이 페이지의 디코더는 이런 추가 층을 감지해 한 번에 해결해 줍니다.
URL은 손으로, 브라우저 콘솔에서, 또는 서버 측 스크립트로 디코딩할 수 있습니다. 일반적인 방법을 비교하면:
| 방법 | UTF-8 | 다중 층 | 사용 시점 |
|---|---|---|---|
| URL Decode Online | 예 | 예, 자동 | 일상적인 디코딩: 한 번 붙여넣고 전체 디코딩 텍스트를 얻으며 잘못된 시퀀스는 표시됩니다. |
| 코드를 손으로 읽기 | 느림 | 혼란스러움 | 단일 문자에만 현실적입니다. %E4%B8%AD = 中 을 알려면 UTF-8 바이트 표를 외워야 합니다. |
| decodeURIComponent() | 예 | 아니요 | DevTools 콘솔에서 빠르게 확인할 때. 잘못된 입력에는 URIError를 던집니다. |
| Python unquote() | 예 | 아니요 | 서버 측 스크립트와 로그 파이프라인. unquote_plus는 +도 공백으로 변환합니다. |
| curl --data-urlencode | 예 | 아니요 | 디코딩이 아니라 인코딩용: 터미널에서 테스트 요청을 만들 때 유용하며, 공백을 폼 스타일 +로 씁니다. |
퍼센트 인코딩 문자열은 깨진 링크를 고치는 것보다 더 많은 작업에서 등장합니다:
URL 디코딩(퍼센트 디코딩이라고도 함)은 URL에서 인코딩된 문자를 원래 형태로 변환하는 과정입니다. 데이터가 URL을 통해 전송될 때 특수 문자는 퍼센트 기호(%)와 두 개의 16진수 숫자로 대체됩니다. 예를 들어 %20은 공백 문자를 나타내고 %26은 앰퍼샌드(&)를 나타냅니다.
이 페이지 상단의 입력 필드에 인코딩된 URL을 붙여넣기만 하면 됩니다. 우리 도구는 입력하는 동안 자동으로 실시간으로 URL을 디코드하여 즉시 결과를 보여줍니다. 그런 다음 한 번의 클릭으로 디코딩된 결과를 복사할 수 있습니다. 등록, 결제 또는 소프트웨어 설치가 필요 없습니다. 부분적으로 인코딩된 URL을 붙여넣어도 됩니다. 디코더는 더 이상 디코딩할 것이 없을 때까지 계속하며 처리한 층 수를 보여줍니다.
퍼센트 인코딩(URL 인코딩이라고도 함)은 제한된 ASCII 문자 집합만 사용하여 URL에 정보를 인코딩하는 메커니즘입니다. 특수 문자는 퍼센트 기호(%)와 16진수 ASCII 값으로 대체됩니다. 이렇게 하면 데이터 손상 없이 모든 시스템에서 URL을 안전하게 전송할 수 있습니다. 예를 들어 이모지 😀은 %F0%9F%98%80이 됩니다. 4개의 UTF-8 바이트를 16진수로 쓴 것입니다.
URL에는 제한된 ASCII 문자 집합만 포함할 수 있습니다. 공백, 앰퍼샌드, 물음표 및 비ASCII 문자(예: UTF-8 국제 텍스트)와 같은 특수 문자는 URL에서 안전하게 전송하려면 인코딩해야 합니다. 이렇게 하면 전 세계 모든 브라우저, 서버 및 시스템에서 URL이 올바르게 작동합니다. 이 문자들을 그대로 두면 URL 의미가 바뀝니다. &는 매개변수를 나누고, #는 프래그먼트를 시작하며, 많은 서버는 원본 공백을 곧바로 거부합니다.
필수 사이트 기능과 프라이버시 친화적 분석, 그리고 (동의 시) Google Analytics 및 광고를 위해 쿠키를 사용합니다. 개인정보처리방침