주요 콘텐츠로 건너뛰기
FreeOnlineTools Go
한국어
방법

URL 인코딩 및 디코딩 방법: 전체 가이드

작성자: FreeOnlineTools Team · 2026-08-28에 업데이트됨

빠른 답변

URL 인코딩은 안전하지 않은 문자를 %XX 시퀀스로 변환합니다. 여기서 XX는 바이트의 16진수 값입니다. 공백은 %20(또는 양식 데이터의 +)이 되고, 한자는 멀티바이트 %XX 시퀀스가 ​​됩니다. 무료 URL 인코더 및 URL 디코더를 사용하세요. 모든 처리는 브라우저에서 로컬로 이루어집니다.

소개

퍼센트 인코딩이라고도 하는 URL 인코딩은 URL이 인터넷을 통해 안전하게 전송될 수 있도록 URL에 예약된 문자와 안전하지 않은 문자를 인코딩하는 메커니즘입니다. URLs에는 제한된 ASCII 문자 집합만 포함될 수 있습니다. 다른 모든 문자(공백, ASCII가 아닌 문자, 기호)는 %로 시작하고 그 뒤에 바이트 값을 나타내는 두 개의 16진수 숫자가 오는 시퀀스로 백분율로 인코딩되어야 합니다.

단계별

  1. 인코딩이 필요한 항목 식별

    예약되지 않은 집합(A-Z, a-z, 0-9, -, ., _, ~)에 없는 문자는 백분율로 인코딩되어야 합니다. 여기에는 공백, = ​​및 &와 같은 쿼리 구분 기호, 슬래시, 중국어, 아랍어 또는 그림 이모티콘과 같은 ASCII가 아닌 모든 문자가 포함됩니다.

  2. URL 또는 쿼리 문자열을 인코딩합니다.

    URL 인코더 도구에 텍스트를 붙여넣습니다. encodeURIComponent()를 사용하여 모든 예약 문자를 인코딩합니다. 결과는 출력 필드에 즉시 나타납니다.

  3. 인코딩된 결과 복사

    복사 버튼을 클릭하여 백분율로 인코딩된 문자열을 복사합니다. 이제 URL 쿼리 매개변수, API 요청 또는 양식 제출에 안전하게 포함할 수 있습니다.

  4. 인코딩된 URL 디코딩

    인코딩된 URL 또는 쿼리 문자열을 URL 디코더 도구에 붙여넣습니다. decodeURIComponent()를 사용하여 원래 문자를 복원합니다. 디코딩된 출력이 예상과 일치하는지 확인합니다.

  5. 극단적인 사례 확인

    공백이 올바르게 디코딩되었는지(%20 vs +), 멀티바이트 UTF-8 시퀀스가 ​​올바른 문자로 디코딩되었는지, 이미 인코딩된 문자열이 이중 인코딩되지 않았는지 확인하세요.

예

공백을 사용하여 텍스트 인코딩

입력: Hello World

산출: Hello%20World

경로 구분 기호를 인코딩합니다.

입력: a/b

산출: a%2Fb

한자 인코딩(UTF-8)

입력: 你好

산출: %E4%BD%A0%E5%A5%BD

인코딩된 쿼리 매개변수 디코딩

입력: key%3Dvalue%26foo%3Dbar

산출: key=value&foo=bar

일반적인 문제

  • 이중 인코딩: 이미 인코딩된 문자열을 인코딩하면 %20이 %2520으로 바뀝니다. 다시 인코딩하기 전에 입력이 이미 인코딩되었는지 항상 확인하세요.
  • encodeURI와 encodeURIComponent 혼동: encodeURI는 /, ?, &와 같은 예약된 문자를 전체 URLs에 대해 그대로 유지하는 반면 encodeURIComponent는 쿼리 매개변수 값에 대한 모든 것을 인코딩합니다.
  • 공간 처리: %20은 백분율로 인코딩된 형식입니다. +는 RFC 3986에 따른 URL 경로나 쿼리 문자열이 아닌 application/x-www-form-urlencoded 본문 데이터에서만 유효합니다.
  • 비UTF-8 레거시 인코딩: 최신 브라우저는 UTF-8로 인코딩하지만 레거시 시스템은 GBK 또는 Latin-1을 사용할 수 있으므로 상대방에서 디코딩할 때 모지베이크가 발생할 수 있습니다.

팁

  • 개별 쿼리 매개변수 값에는 encodeURIComponent()를 사용하고, 이미 잘 구성된 전체 URLs에는 encodeURI()를 사용합니다.
  • 쿼리 문자열을 작성할 때 = 또는 & 구분 기호가 아닌 값을 인코딩합니다. 각 값을 별도로 인코딩한 다음 &로 결합합니다.
  • 잘못된 쿼리 문자열로 인해 400 오류를 반환하는 API 호출을 디버깅하려면 URL 인코더 및 디코더 도구를 사용하세요.
  • mojibake를 방지하려면 항상 동일한 문자 인코딩(UTF-8)을 사용하여 서버 측에서 디코딩하십시오.

관련 도구

관련 가이드

참고자료