# URL 인코딩·디코딩·분석

URL용으로 텍스트를 퍼센트 인코딩·디코딩하거나, URL을 스킴·호스트·경로·쿼리로 나누고 쿼리를 표로 편집합니다.

https://codeknife.dev/ko/url-inkoding/

## 기능

URL에서 쓰도록 텍스트를 퍼센트 인코딩·디코딩하고, URL을 스킴·호스트·포트·경로·쿼리·프래그먼트로 나눕니다. 쿼리는 편집 가능한 이름과 값의 표로 나오며, 바꾸는 대로 URL이 다시 만들어집니다.

## 사용 방법

1. 한 줄에 한 항목씩 텍스트나 URL을 입력하거나 붙여넣거나 텍스트 파일을 놓으세요.
2. 모드를 고르세요. **인코딩**은 단일 값에서 안전하지 않은 모든 것을 이스케이프하고, **URL 인코딩**은 URL 구조를 유지하며 들어갈 수 없는 것만 이스케이프하고, **디코딩**은 퍼센트 인코딩을 읽고, **분석**은 URL을 부분으로 나눕니다.
3. 분석 모드에서 쿼리 표의 매개변수를 바꾸거나 추가·제거하고, 다시 만들어진 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을 어딘가로 보내나요?

아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 저희 서버로 전송되지 않습니다.