AD JB Toolbox 01

URL 인코딩 & 디코딩

입력
결과

URL 인코딩이란?

URL 인코딩(퍼센트 인코딩)은 한글, 공백, &, =, ? 같이 URL에 그대로 쓸 수 없거나 다른 의미로 해석될 수 있는 문자를 %XX 형태로 안전하게 변환하는 방식입니다. 쿼리스트링 값에 한글이나 특수문자를 넣거나, 다른 사람이 전달한 인코딩된 URL의 실제 값을 확인할 때 사용합니다. 모든 변환은 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

구성요소 인코딩 vs 전체 URI 인코딩 차이

두 방식의 차이를 모르고 사용하면 URL이 깨지는 경우가 많아 주의가 필요합니다.

구성요소 (encodeURIComponent)전체 URI (encodeURI)
용도 쿼리스트링의 값 하나만 인코딩할 때 전체 URL 주소를 인코딩할 때
차이 & = ? / : # 같은 URL 구조 문자도 모두 인코딩 & = ? / : # 같은 URL 구조 문자는 그대로 유지
예시 search?q= 뒤에 붙일 검색어 인코딩 https://example.com/한글경로 전체 인코딩

자주 묻는 질문

Q. 쿼리스트링 값을 인코딩할 땐 어떤 걸 써야 하나요?
A. "구성요소 인코딩(encodeURIComponent)"을 사용하세요. 값 안에 &=가 들어 있어도 안전하게 인코딩됩니다.
Q. "+"로 치환 옵션은 언제 쓰나요?
A. HTML 폼(application/x-www-form-urlencoded)이나 일부 서버 프레임워크는 공백을 %20 대신 +로 표현합니다. 폼 데이터를 다룰 때 이 옵션을 켜세요.
Q. 디코딩 시 오류가 발생해요.
A. % 뒤에 올바른 16진수 2자리가 없거나 잘린 인코딩 문자열일 때 발생합니다. 원본 문자열이 잘리지 않았는지 확인해보세요.