본문으로 건너뛰기

문자열을 URL 인코딩하는 방법

퍼센트 인코딩은 URL에서 안전하지 않은 문자를 % 뒤에 해당 문자의 각 UTF-8 바이트를 16진수로 적은 값으로 바꿉니다. encodeURIComponent()를 사용하는 '구성요소' 모드는 쿼리 값 하나나 경로 세그먼트 하나에 적합합니다.

계산 예시

문자UTF-8 바이트구성요소
␠%20%20
&%26%26
=%3D%3D
/%2F%2F
?%3F%3F
é%C3 %A9%C3%A9
😀%F0 %9F %98 %80%F0%9F%98%80

'구성요소' 모드는 문장 전체를 하나의 안전한 값으로 인코딩합니다.

입력
rock & roll/size=XL? café 😀
결과 · encodeURIComponent()
rock%20%26%20roll%2Fsize%3DXL%3F%20caf%C3%A9%20%F0%9F%98%80

'전체 URL' 모드는 & = / ?를 그대로 두므로 완전한 URL에만 사용하세요.

입력
rock & roll/size=XL? café 😀
결과 · encodeURI()
rock%20&%20roll/size=XL?%20caf%C3%A9%20%F0%9F%98%80

도구의 처리 방식

  • 영문자 A–Z와 a–z, 숫자 0–9, 그리고 - _ . ! ~ * ' ( )는 절대 바뀌지 않습니다.
  • 그 밖의 모든 문자는 UTF-8 바이트로 변환되고, 각 바이트는 %와 대문자 16진수 두 자리로 표기됩니다. é는 2바이트, 대부분의 이모지는 4바이트입니다.
  • '구성요소' 모드는 예약 문자 : / ? # [ ] @ & = + $ , ;도 인코딩하므로 URL 구조가 바뀌지 않습니다.

URL 인코딩 가이드