URL 인코더 및 디코더

텍스트를 URL 형식으로 변환하고 URL 문자열을 디코딩합니다

다음 예제를 시도해보세요:

About URL Encoding

URL 인코딩은 퍼센트 인코딩이라고도 하며, URI(Uniform Resource Identifier)에서 정보를 인코딩하는 메커니즘입니다. URL에서 허용되지 않는 문자를 인터넷을 통해 전송할 수 있는 형식으로 변환하는 데 사용됩니다. 이 인코딩은 안전하지 않은 ASCII 문자를 "%"와 두 개의 16진수 숫자로 대체합니다.

URL 인코딩의 일반적인 용도

  • URL에서 쿼리 문자열 형식 지정
  • HTTP 요청을 통한 폼 데이터 전송 (application/x-www-form-urlencoded)
  • 특수 문자나 공백이 포함된 유효한 URL 생성
  • URL에서 비ASCII 문자를 인코딩하기
  • API 및 웹 서비스에서 복잡한 매개변수 전달

URL 인코딩 작동 방식

URL 인코딩은 다음 원칙을 따릅니다:

  • 영숫자 문자(A-Z, a-z, 0-9)는 변경되지 않습니다
  • 공백, ?, &, =, %, +와 같은 특수 문자는 퍼센트 인코딩된 값으로 변환됩니다
  • UTF-8로 인코딩된 각 바이트는 별도로 퍼센트 인코딩됩니다
  • 공백 문자는 "%20" 또는 "+" (쿼리 매개변수에서)로 인코딩될 수 있습니다
  • /, :, ?, #, [와 같은 예약 문자는 URL에서 특별한 의미를 가지며 문맥에 따라 다르게 처리될 수 있습니다

encodeURI와 encodeURIComponent 비교

JavaScript는 URL 인코딩을 위한 두 가지 함수를 제공합니다:

  • encodeURI: URI 전체를 인코딩하며 URI 구문에 속하는 문자(/:?#[]@!$&'()*+,;=)는 유지합니다
  • encodeURIComponent: URI 구성 요소(예: 쿼리 매개변수 값)를 인코딩하며 URI에서 특별한 의미를 가진 문자를 포함해 더 많은 문자를 인코딩합니다

사용자 입력 또는 쿼리 매개변수를 인코딩할 때 대부분의 경우에 encodeURIComponent() 모든 잠재적으로 문제가 될 수 있는 문자를 올바르게 인코딩하므로 더 안전한 선택입니다.

국제 문자를 위한 URL 인코딩

최신 브라우저는 비ASCII 문자를 UTF-8로 인코딩한 후 각 바이트를 퍼센트 인코딩합니다. 이를 통해 국제 문자, 이모지 및 기타 유니코드 기호를 URL에 올바르게 포함할 수 있습니다. 예를 들어 일본어 문자 "日"는 먼저 UTF-8로 세 바이트(E6 97 A5)로 인코딩되고, 이후 "%E6%97%A5"로 퍼센트 인코딩됩니다.

Examples

일반 텍스트URL 인코딩됨
Hello WorldHello%20World
https://example.com/?q=search termhttps%3A%2F%2Fexample.com%2F%3Fq%3Dsearch%20term
50% 할인 판매!50%25%20할인%20판매%21
Smith & Jones LLCSmith%20%26%20Jones%20LLC