URL 인코딩·디코딩하는 방법
- 인코딩 또는 디코딩을 고르세요.
- 값 하나면 파라미터 값, 주소 전체면 전체 URL을 고르세요.
- 글을 붙여 넣고 결과를 복사하세요. 전체 URL은 구성 요소별로도 나눠 보여 줘요.
예약 문자와 위험한 문자
? & = # / 는 URL에서 특별한 뜻이 있어요. 값에 이런 글자가 들어 있으면 인코딩해야 해요. 그렇지 않으면 & 가 들어간 검색어처럼 URL이 엉뚱한 곳에서 잘려요.
코드에서 인코딩하기
자바스크립트는 값에 encodeURIComponent, 쿼리 문자열을 만들 땐 URLSearchParams를 쓰세요. 파이썬은 urllib.parse.quote와 urlencode예요. 값마다 한 번만 인코딩하세요. 두 번 하면 %가 %25가 돼요.
추적 링크 읽기
마케팅 링크에는 utm_source, utm_campaign 같은 파라미터가 붙어요. URL 구성 보기에서 모든 파라미터가 디코딩되어 나와서 긴 리디렉션·추적 URL을 쉽게 살펴볼 수 있어요.
자주 묻는 질문
URL 인코딩이 뭔가요?
공백, 한글, & 처럼 URL에 그대로 쓸 수 없는 글자를 % 뒤에 UTF-8 바이트를 16진수로 쓰는 방식이에요. 공백은 %20, '가'는 %EA%B0%80이 돼요.
+가 왜 공백으로 바뀌나요?
폼 전송과 쿼리 문자열에서는 전통적으로 +가 공백을 뜻해서 디코딩할 때 공백으로 바꿔요.
encodeURI와 encodeURIComponent 차이는?
encodeURIComponent는 / ? & =까지 인코딩해서 값에 알맞고, encodeURI는 이를 남겨서 주소 전체에 알맞아요.
