CalKit

URL 인코더/디코더

URL 문자열을 인코딩/디코딩합니다.

개요

URL에 포함된 특수 문자를 퍼센트 인코딩(%XX)으로 변환하거나, 인코딩된 URL을 원본으로 디코딩합니다. 쿼리 파라미터 처리, API 호출, 링크 공유 시 필수적인 도구입니다.

계산 공식

퍼센트 인코딩 과정: 문자를 UTF-8 바이트열로 변환한 뒤, 예약 문자 및 비ASCII 문자의 각 바이트를 '%' + 2자리 16진수 대문자로 치환합니다. 예: '한' → UTF-8 [0xED, 0x95, 0x9C] → '%ED%95%9C'. 비예약 문자(A-Z, a-z, 0-9, -, _, ., ~)는 인코딩하지 않습니다. 디코딩은 역순으로 %XX를 바이트로 변환 후 UTF-8 디코딩합니다.

사용 방법

  1. 1인코딩 또는 디코딩 모드를 선택합니다.
  2. 2URL 또는 텍스트를 입력합니다.
  3. 3변환 결과가 자동으로 표시됩니다.
  4. 4결과를 복사하여 사용합니다.

활용 팁

  • 공백 문자는 URL에서 '+'(application/x-www-form-urlencoded) 또는 '%20'으로 인코딩됩니다.
  • 전체 URL이 아닌 쿼리 파라미터 값만 인코딩하세요. '://'나 '?', '&' 등 URL 구조 문자는 유지해야 합니다.
  • 이중 인코딩(이미 인코딩된 문자열을 다시 인코딩)에 주의하세요.
  • JavaScript에서는 encodeURIComponent()를, Python에서는 urllib.parse.quote()를 사용합니다.

자주 묻는 질문

Q. URL 인코딩은 왜 필요한가요?

URL은 ASCII 문자 중 제한된 집합만 사용할 수 있습니다. 한글, 공백, 특수 문자 등을 URL에 포함시키려면 퍼센트 인코딩으로 변환해야 합니다. 인코딩하지 않으면 URL이 깨지거나 잘못 해석될 수 있습니다.

Q. encodeURI()와 encodeURIComponent()의 차이는 무엇인가요?

encodeURI()는 전체 URL을 인코딩하되 URL 구조 문자(:, /, ?, #, & 등)는 보존합니다. encodeURIComponent()는 모든 특수 문자를 인코딩하므로 쿼리 파라미터 값 인코딩에 적합합니다.

Q. '+'와 '%20'의 차이는 무엇인가요?

'+'는 HTML 폼 데이터(application/x-www-form-urlencoded)에서 공백을 나타내고, '%20'은 RFC 3986 표준에 따른 공백 인코딩입니다. URL 경로에서는 '%20'을 사용해야 합니다.

관련 계산기