[원문 링크](https://it-eldorado.tistory.com/143) ### 개요 **URL 인코딩이란 [[URL]]에서 URL로 사용할 수 없는 문자 혹은 URL로 사용할 수 있지만 의미가 왜곡될 수 있는 문자들을 '%XX'의 형태로 변환하는 것**을 말한다. 여기서 XX는 16진수 값이다. 그리고 URL 디코딩이란 변환된 URL을 다시 원래의 형태로 되돌리는 것을 말한다. ### 필요한 이유 1) 인터넷에서 **송수신되는 문자는 오직 아스키코드**이다. - 한글과 같이 인터넷으로 송수신이 안 되는 문자는 [[UTT-8]]로 인코딩 된다. 2) URL에서 예약된 의미로 사용되는 문자열은 이스케이프 처리가 필요하다. - '/', '&', '=' 등. 3) 공백 문자도 허용되지 않는다. `%20` 이나 `+`로 인코딩된다. ### 인코딩 방법 #### [[JavaScript]] - URL 인코딩 : [encodeURIComponent(인코딩할 문자열)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) - URL 디코딩 : [decodeURIComponent(디코딩할 문자열)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent) #### [[Python]] - URL 인코딩 : [urllib.parse.quote(인코딩할 문자열, safe='')](https://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote) - URL 디코딩 : [urllib.parse.unquote(디코딩할 문자열)](https://docs.python.org/3/library/urllib.parse.html#urllib.parse.unquote) - 인코딩 사이트: [온라인 URL 인코더](https://www.convertstring.com/ko/EncodeDecode/UrlEncode)