URL 인코딩 · 디코딩
한글 주소, 쿼리 값을 퍼센트 인코딩으로 변환하거나 되돌립니다.
업로드 0 B — 이 페이지는 입력 내용을 서버로 보내지 않았습니다?
다른 변환 사이트는 입력한 내용이나 파일을 서버로 보내서 처리합니다. 처리 뒤 지운다고 안내해도 그때까지는 남의 서버에 남아 있습니다. 여기에는 보내는 단계 자체가 없습니다. 비밀번호·계약 문구·개인 메모처럼 새어 나가면 곤란한 내용일수록 이 차이가 큽니다. 직접 확인하는 방법 →
한글·공백·기호가 섞인 값을 주소에 안전하게 넣고, 깨진 주소를 다시 읽기
한글 검색어가 들어간 링크를 복사하면 %EA%B2%80처럼 알아보기 어려운 문자열이 붙어 나옵니다. 이 도구는 글자를 이런 퍼센트 표기로 바꾸는 인코딩과, 퍼센트 표기를 원래 글자로 되돌리는 디코딩을 양방향으로 처리합니다. 값 하나용과 주소 전체용 방식 중에서 고를 수 있습니다.
조금 더 자세히
URL에는 영문자, 숫자와 몇몇 기호만 그대로 쓸 수 있습니다. 나머지 글자는 UTF-8 바이트로 바꾼 뒤 한 바이트마다 %와 16진수 두 자리로 적습니다. 한글 한 글자는 3바이트라 "한"은 %ED%95%9C 아홉 글자가 되고, 공백은 %20, 4바이트인 이모지는 열두 글자가 됩니다. ?, &, =, #, / 같은 기호는 주소에서 구분자 역할을 하므로 값 안에 있으면 인코딩해야 주소가 엉뚱한 곳에서 잘리지 않습니다.
선택 상자의 encodeURIComponent (값·파라미터용)는 영문·숫자와 - _ . ~ 같은 몇몇 기호만 남기고 구분자까지 모두 인코딩합니다. encodeURI (전체 URL용)는 주소의 뼈대를 이루는 ; , / ? : @ & = + $ #는 그대로 두고 한글과 공백 같은 글자만 바꿉니다. 디코딩은 선택과 관계없이 모든 퍼센트 표기를 되돌리며, 웹 폼이 공백을 +로 보내는 관례에 맞춰 +도 공백으로 읽습니다. 디코딩은 UTF-8 기준으로만 이루어집니다.
이렇게 쓰세요
- 위쪽 원본 칸에 바꿀 글자나 주소를 붙여넣습니다.
- 값 하나를 넣을 때는 encodeURIComponent (값·파라미터용), 주소 전체를 바꿀 때는 encodeURI (전체 URL용)를 고릅니다.
- ↓ 인코딩을 누르면 아래 인코딩된 문자열 칸에 결과가 채워집니다. 거꾸로 아래 칸에 퍼센트 표기를 넣고 ↑ 디코딩을 누르면 위 칸에 원래 글자가 나옵니다.
- 원본 복사나 인코딩 복사로 필요한 쪽을 가져갑니다. 결과가 들어오는 칸의 기존 내용은 덮어써집니다.
이럴 때 유용해요
자주 막히는 지점
팁 헷갈릴 때는 주소 전체가 아니라 = 뒤에 들어갈 값만 떼어 encodeURIComponent로 바꾸면 대부분의 깨짐을 막을 수 있습니다.
안내
component와 URI의 차이는?
encodeURIComponent는 ?, &, = 같은 구분자까지 전부 인코딩해서 쿼리 값 하나를 넣을 때 사용합니다. encodeURI는 URL 구조를 유지한 채 한글·공백만 인코딩해서 전체 주소를 변환할 때 사용합니다.