검색어 URL 파라미터
"서울 맛집 추천"이라는 검색어를 URL 파라미터로 전달하면 %EC%84%9C%EC%9A%B8%20... 형태가 됩니다.
URL 디코딩 도구로 인코딩된 파라미터의 원래 내용을 확인할 수 있습니다.
텍스트를 URL 인코딩하거나 URL 인코딩된 문자열을 디코딩합니다.
입력 38자, 출력 78자
URL 인코딩/디코딩 도구는 텍스트를 URL에 안전한 퍼센트 인코딩 형식으로 변환하거나, 인코딩된 문자열을 원래 텍스트로 복원합니다. encodeURIComponent/decodeURIComponent 기준으로 동작합니다. 한글, 특수문자 등이 포함된 URL 파라미터를 안전하게 전달해야 할 때, 또는 인코딩된 URL을 해석해야 할 때 유용합니다.
이럴 때 이렇게 계산해요.
"서울 맛집 추천"이라는 검색어를 URL 파라미터로 전달하면 %EC%84%9C%EC%9A%B8%20... 형태가 됩니다.
URL 디코딩 도구로 인코딩된 파라미터의 원래 내용을 확인할 수 있습니다.
REST API 호출 시 ?filter=가격>10000&sort=이름 같은 파라미터를 URL 인코딩하여 ?filter=%EA%B0%80%EA%B2%A9%3E10000&sort=%EC%9D%B4%EB%A6%84 으로 변환합니다.
특수문자(>, &)와 한글이 포함된 파라미터를 안전하게 전달하여 API 호출 오류를 방지합니다.
로그인 후 원래 페이지로 돌아가기 위해 redirect_url=https://example.com/path?key=value 를 파라미터로 전달할 때, URL 전체를 인코딩해야 합니다.
URL 안의 URL을 전달할 때 인코딩을 빠뜨리면 파라미터 해석 오류가 발생하므로 반드시 인코딩합니다.
Twitter/Facebook 공유 버튼에 사용할 URL을 생성할 때, 공유할 페이지의 제목과 URL을 인코딩하여 공유 링크 파라미터에 포함시킵니다.
URL 인코딩으로 제목에 포함된 특수문자가 공유 링크를 깨뜨리지 않도록 방지합니다.
같이 쓰면 좋아요. 옆으로 넘겨 보세요.
궁금한 거 모아 봤어요. 눌러서 펼쳐 보세요.
URL에는 사용 가능한 문자가 제한되어 있습니다. 한글, 공백, 특수문자(&, =, ? 등)가 URL에 포함되면 의미가 혼동될 수 있으므로 %XX 형태로 인코딩하여 안전하게 전달합니다.
encodeURI는 전체 URL 구조를 유지하면서 인코딩합니다(://?& 등 보존). encodeURIComponent는 파라미터 값 자체를 인코딩하여 영문, 숫자, - _ . ~ ! * ' ( ) 를 제외한 모든 문자를 이스케이프합니다(&, =, ?, / 도 포함). 이 도구는 encodeURIComponent를 사용합니다.
공백은 URL 인코딩에서 %20으로, application/x-www-form-urlencoded(HTML 폼)에서는 +로 표현됩니다. encodeURIComponent는 %20을 사용하고, 폼 데이터 전송 시에는 +가 사용됩니다.
한글은 먼저 UTF-8로 인코딩되어 한 글자당 3바이트가 됩니다. 각 바이트가 %XX 형태로 변환되므로, 한글 한 글자는 %XX%XX%XX (9자)로 표현됩니다. 예: "가" → %EA%B0%80.
RFC 3986에 따르면 영문 대소문자(A-Z, a-z), 숫자(0-9), 그리고 - _ . ~ 네 가지 특수문자는 "비예약 문자"로 인코딩 없이 URL에 사용할 수 있습니다.
이미 인코딩된 문자열을 다시 인코딩하는 것입니다. 예를 들어 %20이 %2520으로 변환됩니다. 서버에서 디코딩이 한 번만 수행되면 원래 값 복원이 실패하므로 주의가 필요합니다.
URL 인코딩(퍼센트 인코딩)은 RFC 3986에서 정의된 URI(Uniform Resource Identifier) 문법 규칙에 기반합니다. URI에서 허용되는 문자는 "비예약 문자"(A-Z, a-z, 0-9, -, _, ., ~)와 "예약 문자"(:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =)로 나뉩니다. 이 외의 모든 문자는 %XX 형태(X는 16진수)로 인코딩해야 합니다.
인코딩 과정은 문자의 바이트 표현에 기반합니다. 먼저 문자를 UTF-8로 인코딩하여 바이트 시퀀스를 얻고, 각 바이트를 16진수 두 자리로 변환하여 앞에 %를 붙입니다. 예를 들어, "가"는 UTF-8로 0xEA, 0xB0, 0x80 세 바이트이므로 %EA%B0%80이 됩니다. ASCII 범위(0x00~0x7F) 문자는 1바이트이므로 하나의 %XX로, 한글은 3바이트이므로 세 개의 %XX로 표현됩니다.
URL 인코딩의 역과정인 디코딩은 % 뒤의 16진수 두 자리를 바이트 값으로 변환하고, 연속된 바이트를 UTF-8 규칙에 따라 문자로 복원합니다. UTF-8의 첫 바이트 패턴(110xxxxx = 2바이트, 1110xxxx = 3바이트 등)으로 문자 경계를 판단합니다.