오리데브오리박스

URL 인코딩·디코딩

한글 주소나 검색어를 %로 인코딩하고, 인코딩된 주소를 읽을 수 있게 디코딩합니다. 쿼리 파라미터도 표로 풀어 줍니다.

입력

텍스트

결과

URL

인코딩 범위 비교

문자값 하나주소 전체
한글·공백%로 바꿈%로 바꿈
/ ? : @ & = + $ # ,%로 바꿈그대로 둠
A–Z a–z 0–9 - _ . ! ~ * ' ( )그대로 둠그대로 둠

예: https://ohleebox.com/검색?q=오리 박스를 주소 전체로 인코딩하면 https://ohleebox.com/%EA%B2%80%EC%83%89?q=%EC%98%A4%EB%A6%AC%20%EB%B0%95%EC%8A%A4가 됩니다.

코드로 하려면

언어별 함수는 아래와 같습니다. 파이썬의 quote는 기본으로 /를 남기니 값 하나를 넣을 때는 safe=""를 주세요.

encodeURIComponent("오리 박스")   // %EC%98%A4%EB%A6%AC%20%EB%B0%95%EC%8A%A4
decodeURIComponent("%EC%98%A4%EB%A6%AC")

# 파이썬
from urllib.parse import quote, unquote
quote("오리 박스", safe="")
unquote("%EC%98%A4%EB%A6%AC")

다른 개발·데이터 도구

자주 묻는 질문

URL 인코딩은 왜 하나요?

주소에는 영문·숫자와 일부 기호만 쓸 수 있어서 한글이나 공백, &·= 같은 특수문자를 %와 16진수로 바꿔야 합니다. "한글"은 UTF-8 바이트를 따라 %ED%95%9C%EA%B8%80이 됩니다.

encodeURIComponent와 encodeURI는 무엇이 다른가요?

encodeURIComponent는 / ? & = # 까지 모두 바꿔서 검색어 같은 값 하나를 넣을 때 씁니다. encodeURI는 주소의 구조를 이루는 기호는 남기고 한글·공백만 바꿔서 주소 전체를 다룰 때 씁니다.

+와 %20은 무엇이 다른가요?

둘 다 공백입니다. %20은 주소 어디서나 공백이고, +는 폼으로 보낸 쿼리 문자열(application/x-www-form-urlencoded)에서만 공백입니다. 디코딩할 때 + 처리 여부를 선택할 수 있습니다.

주소를 넣으면 파라미터도 보여 주나요?

?가 들어간 주소를 인코딩·디코딩하면 쿼리 파라미터를 이름과 값의 표로 풀어서 보여 줍니다.