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자리가 없거나 잘린 인코딩 문자열일 때 발생합니다. 원본 문자열이 잘리지 않았는지 확인해보세요.
