URL 인코더 / 디코더: 텍스트 퍼센트 인코딩과 디코딩

일반 텍스트를 퍼센트 인코딩된 URL 문자열로 바꾸거나, 퍼센트 인코딩된 문자열을 브라우저에서 바로 원래 텍스트로 디코딩합니다.

URL 인코더 / 디코더

문제 신고

URL 인코더 / 디코더: 텍스트 퍼센트 인코딩과 디코딩에 대한 버그나 제안이 있으신가요? 알려주세요!

URL 인코딩과 디코딩

이 도구는 URL 안에서 사용할 텍스트를 일반 형태와 퍼센트 인코딩 형태 사이에서 양방향으로 변환합니다. 인코딩 모드에서는 어떤 텍스트든 URL에 안전한 문자열로 바꾸고, 디코딩 모드에서는 퍼센트 인코딩된 문자열을 글자 하나하나 원래 텍스트로 되돌립니다.

작동 방식

인코딩은 대문자와 소문자, 숫자 0부터 9, 그리고 - _ . ! ~ * ' ( ) 여섯 개 기호로 이루어진 좁은 허용 문자 집합을 벗어난 모든 문자를, UTF-8에서의 2자리 16진수 바이트 값 앞에 퍼센트 기호를 붙인 형태로 바꿉니다. 그래서 공백은 더하기 기호가 아니라 %20이 되고, 악센트가 있는 한 글자는 두세 개의 %XX 바이트가 됩니다. URL 안전 옵션은 여기서 한 단계 더 나아가 별표(*)도 %2A로 인코딩하는데, 이 문자는 기본적으로는 그대로 남지만 일부 API와 서명 방식에서는 거부되기 때문입니다. 디코딩은 같은 표를 반대로 적용합니다. 재귀 디코딩 옵션은 디코딩을 최대 16번까지 연속으로 반복하며, 두 번 이상 인코딩되어 한 번만 디코딩하면 여전히 %25 같은 퍼센트 기호가 남는 링크에 유용합니다. 줄마다 인코딩 옵션은 입력을 줄바꿈 기준으로 나누어 각 줄을 따로 처리한 다음, LF, CRLF, CR, 공백, 쉼표, 세미콜론 중에서 고른 구분자로 결과를 다시 합쳐서, 값 목록이 하나의 덩어리로 뭉치지 않고 줄마다 하나씩 유지되게 합니다. 별도의 바꾸기 기능은 모드를 전환하는 동시에 입력과 출력 텍스트를 서로 바꾸며, 결과는 클립보드에 복사하거나 일반 텍스트 파일로 다운로드할 수 있습니다. 입력값은 텍스트 파일을 업로드하거나 클립보드에서 붙여넣어서 채울 수도 있으며, 이는 변환 자체가 작동하는 방식을 바꾸지는 않습니다. 오류가 표시되지 않는 한 입력창의 내용은 옵션을 바꿀 때마다 즉시 다시 계산되어 출력창에 반영됩니다. 이 과정에서 별도의 서버 요청은 발생하지 않습니다.

예시

검색어 값으로 입력한 커피 & 빵집이라는 문구를 예로 들어 보겠습니다. 인코딩하면 %EC%BB%A4%ED%94%BC%20%26%20%EB%B9%B5%EC%A7%91이 되는데, 공백은 %20이 되고, & 기호는 매개변수 구분자로 잘못 읽히지 않도록 %26이 되며, 커피와 빵집이라는 단어는 UTF-8에서 한 글자가 3바이트로 저장되기 때문에 각각 여러 개의 %XX 바이트로 나뉩니다. 같은 인코딩된 문자열을 디코딩 모드에 붙여 넣으면 공백, & 기호, 한글까지 그대로 커피 & 빵집으로 돌아옵니다.

예시 결과

입력 (인코딩): 커피 & 빵집
출력:          %EC%BB%A4%ED%94%BC%20%26%20%EB%B9%B5%EC%A7%91

입력 (디코딩): %EC%BB%A4%ED%94%BC%20%26%20%EB%B9%B5%EC%A7%91
출력:          커피 & 빵집

자주 묻는 질문