🏷️ 관련 기술 태그:#URLEncode#PercentEncoding#RFC3986#QueryParamEscape#UTF8_URL
📖

URL 인코더 / 디코더 (퍼센트 인코딩) 기술 가이드

URL 인코딩(Percent-Encoding)은 RFC 3986 규격에 따라 웹 주소(URI)에 직접 사용할 수 없는 비-ASCII 문자(한글, 공백, 이모지 등)와 예약어 제어 기호(`<`, `>`, `#`, `%` 등)를 `%` 뒤에 2자리 16진수 바이트 코드를 붙인 형태(`%20`, `%EB%8D%B0` 등)로 변환하는 웹 표준 기술입니다. 웹 브라우저 및 HTTP 클라이언트가 서버로 API 요청을 보낼 때 쿼리 스트링 파라미터나 URL 경로의 구문이 깨지는 현상을 원천 방지합니다. URL을 처리할 때 전체 웹 주소 경로를 보존해야 하는 경우와 쿼리 파라미터 `?key=value` 내부의 값을 이스케이프해야 하는 경우는 인코딩 수준이 달라야 합니다. JuicyDevs URL 변환기는 `encodeURI`와 `encodeURIComponent` 표준 알고리즘을 모두 지원하며, 한글 및 특수문자의 손실 없는 UTF-8 인코딩/디코딩을 100% 브라우저 메모리 내에서 안전하게 수행합니다.

주요 핵심 기능

  • 쿼리 파라미터 값 전용(`encodeURIComponent`) 및 전체 URL 주소용(`encodeURI`) 인코딩 옵션 선택 가능
  • 한글, 한자, 특수기호, 이모지가 포함된 복잡한 URL 데이터의 완전한 UTF-8 퍼센트 인코딩/디코딩
  • 인코딩된 퍼센트 문자열(`%20`, `%2F`, `%3F`, `%26`)을 원래의 가독성 있는 텍스트로 즉시 복원
  • 공백 문자에 대한 표준 `%20` 포맷과 폼 데이터용 `+` 포맷 선택 지원
  • 실시간 입출력 변환 및 입력 문자열 글자 수 통계 정보 제공

🚀 빠른 사용 방법

  1. 1상단 탭에서 "인코딩(Encode)" 또는 "디코딩(Decode)" 모드를 선택합니다.
  2. 2파라미터 값만 변환하려면 "Component 모드"를, 전체 HTTP 링크 주소를 변환하려면 "전체 URL 모드"를 선택합니다.
  3. 3입력창에 변환할 텍스트나 URL을 붙여넣으면 하단 패널에 즉시 변환 결과가 표시됩니다.
  4. 4복사 버튼을 눌러 결과 문자열을 REST 클라이언트 파라미터나 웹 소스코드에 적용합니다.
🔒100% 클라이언트 사이드 보안 아키텍처

자바스크립트 네이티브 `encodeURIComponent` 및 `encodeURI` 함수를 UTF-8 바이트 스트림 핸들러로 감싸 실행합니다. `application/x-www-form-urlencoded` 규격 선택 시 공백 문자를 `+` 또는 `%20`으로 치환 연산합니다.

💡실무 기술 가이드 & 자주 묻는 질문 (FAQ)

3 개 질문 & 답변 가이드

Q1.encodeURI와 encodeURIComponent의 차이점은 무엇인가요?

`encodeURI`는 인터넷 주소 전체(http://example.com/path?a=1)를 인코딩할 때 사용하며, URL의 구조를 유지하기 위해 프로토콜 기호 및 구분자(`:`, `/`, `?`, `#`, `&`, `=`)를 인코딩하지 않고 남겨둡니다. 반면 `encodeURIComponent`는 쿼리 파라미터의 "값(Value)" 영역에 들어가는 텍스트를 인코딩할 때 사용하며, `/`, `?`, `&`, `=` 등의 구분자까지 모두 퍼센트 코드로 이스케이프합니다. 파라미터 값 내부에 URL 주소가 포함되어 있을 때 `encodeURIComponent`를 쓰지 않으면 서버가 쿼리 파라미터 구분 기호로 오해하여 구문 에러를 일으킵니다.

Q2.공백(Space) 문자를 `%20`으로 인코딩할 때와 `+`로 인코딩할 때의 차이는 무엇인가요?

`%20`은 RFC 3986 표준에 정의된 모든 URI 영역(경로, 쿼리, 프래그먼트)에서 유효한 공백 인코딩 표준입니다. `+` 기호는 전통적인 HTML `<form>` 전송 시 사용되는 `application/x-www-form-urlencoded` 스펙에서만 공백으로 인정됩니다. 현대의 REST API나 JSON 통신에서는 `%20`을 사용하는 것이 표준이며, URL 경로(Path) 부분에 `+`를 쓰면 서버가 실제 덧셈 기호로 해석하여 404 에러가 발생할 수 있습니다.

Q3.한글이나 이모지를 인코딩하면 왜 `%EB%8D%B0`처럼 길어지나요?

URL 표준(URI Spec)은 7비트 ASCII 문자만을 기본으로 허용합니다. 한글과 같은 비-ASCII 문자는 UTF-8 인코딩 체계에서 1글자당 3바이트의 이진 데이터로 표현됩니다. 각 1바이트는 `%`와 2자리 16진수로 변환되므로, 1글자의 한글이 9글자의 퍼센트 코드 문자열(`%EB%8D%B0`)로 인코딩되는 것입니다.