URL 인코딩·디코딩·분석
URL용으로 텍스트를 퍼센트 인코딩·디코딩하거나, URL을 스킴·호스트·경로·쿼리로 나누고 쿼리를 표로 편집합니다.
코드 예제
내 프로젝트에 그대로 복사해서 쓰세요. 모든 예제는 해당 언어의 표준 라이브러리만 사용하므로 설치할 것이 없습니다.
const text = 'name=Zoë & co'
console.log(encodeURIComponent(text))기능
URL에서 쓰도록 텍스트를 퍼센트 인코딩·디코딩하고, URL을 스킴·호스트·포트·경로·쿼리·프래그먼트로 나눕니다. 쿼리는 편집 가능한 이름과 값의 표로 나오며, 바꾸는 대로 URL이 다시 만들어집니다.
사용 방법
- 한 줄에 한 항목씩 텍스트나 URL을 입력하거나 붙여넣거나 텍스트 파일을 놓으세요.
- 모드를 고르세요. 인코딩은 단일 값에서 안전하지 않은 모든 것을 이스케이프하고, URL 인코딩은 URL 구조를 유지하며 들어갈 수 없는 것만 이스케이프하고, 디코딩은 퍼센트 인코딩을 읽고, 분석은 URL을 부분으로 나눕니다.
- 분석 모드에서 쿼리 표의 매개변수를 바꾸거나 추가·제거하고, 다시 만들어진 URL을 입력란에서 복사하세요.
예시
값 인코딩:
name=Zoë & co는 name%3DZo%C3%AB%20%26%20co가 됩니다. URL https://example.com/zoek?q=kaas en brood는 URL 인코딩으로 https://example.com/zoek?q=kaas%20en%20brood가 됩니다.
알아두기
- 공백은
%20으로 씁니다. URL의 쿼리에서는+도 공백을 뜻하며 쿼리 표는 그렇게 읽습니다. - ASCII 밖의 문자는 UTF-8 바이트로 인코딩됩니다.
é는%C3%A9가 됩니다. - 분석은 절대 실패하지 않습니다.
/a/b?x=1같은 상대 참조는 그저 스킴이나 호스트가 없을 뿐입니다. - 16진수 두 자리가 뒤따르지 않는
%나 올바른 UTF-8이 아닌 이스케이프에서는 디코딩이 실패하며 그 줄은 건너뜁니다.
퍼센트 인코딩이란?
URL에는 작은 안전 문자 집합만 담을 수 있습니다. 값에 들어 있는 공백, 악센트, 앰퍼샌드 같은 나머지 문자는 % 와 각 바이트의 16진수 두 자리로 씁니다. 공백은 %20, é는 %C3%A9가 됩니다. 디코딩은 이를 되돌립니다.
자주 묻는 질문
‘인코딩’과 ‘URL 인코딩’은 어떻게 다른가요?
‘인코딩’은 글자, 숫자, - . _ ~ 이외를 모두 이스케이프하므로 쿼리 매개변수 같은 단일 값에 알맞습니다. ‘URL 인코딩’은 : / ? # & = 처럼 URL의 구조를 이루는 문자는 그대로 두고, 공백과 악센트처럼 아예 들어갈 수 없는 것만 이스케이프합니다.
쿼리 표에서 더하기 기호가 공백이 되는 이유는?
URL의 쿼리 부분에서 +는 공백을 뜻하며, HTML 폼에서 온 관습입니다. 표는 그렇게 읽고, 공백은 모든 파서가 받아들이는 %20으로 다시 씁니다.
이 도구가 내 URL을 어딘가로 보내나요?
아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 저희 서버로 전송되지 않습니다.