URL 인코딩

아래에 텍스트를 붙여넣고 인코딩을 클릭하면 URL에서 사용할 수 있도록 퍼센트 인코딩됩니다. 모든 처리는 브라우저에서 로컬로 수행됩니다.

복사됨!

URL 인코딩이란?

URL 인코딩(퍼센트 인코딩)은 URL에서 안전하지 않은 문자를 % 뒤에 두 자리 16진수로 대체합니다. 예를 들어 공백은 %20이 되고 &%26이 됩니다.

표준 모드는 모든 특수 문자를 인코딩합니다 - 단일 값(예: 검색어)을 인코딩할 때 사용하세요. 전체 URL 모드는 :, /, ?, #과 같은 URL 구조 문자를 보존합니다 - 전체 URL을 인코딩할 때 사용하세요.

세 가지 모드의 차이는 어떤 문자를 그대로 두느냐 하나뿐입니다. 값 하나를 인코딩하면 예약 문자가 전혀 남지 않으므로, 그 안의 슬래시는 경로 구분자가 아니라 %2F가 됩니다. URL 전체를 인코딩하면 그것을 URL로 만들어 주는 구분자가 유지됩니다. 폼 인코딩은 브라우저가 HTML 폼으로 보내는 형식을 따르며, 공백은 더하기 기호가 됩니다. 문자 집합도 고를 수 있는데, 옛 시스템들이 UTF-8이 아닌 바이트를 퍼센트 인코딩했기 때문에 이는 중요합니다.

디코딩되지 않는 문제를 쫓고 계신가요?

디코딩되지 않는 페이로드는 대개 원인이 아니라 증상입니다. 파이프라인 어딘가의 이중 인코딩, 선언 대신 가정된 문자셋, 아무도 예상하지 않은 바이트 위에 서명된 토큰 같은 것들이죠. 저희는 바로 그런 일을 합니다. 연동과 API, 그리고 그 사이에서 데이터를 넘기는 시스템에서요.

어디가 깨지는지 알려 주세요

자주 묻는 질문

URL 인코딩이란 무엇인가요
URL 인코딩은 퍼센트 인코딩이라고도 하며, 문자를 퍼센트 기호와 각 바이트의 16진수 값으로 바꿉니다. URL이 실을 수 있는 문자는 아주 적기 때문에, 공백부터 이모지까지 나머지는 모두 이 형태로 이동합니다.
값 하나만 인코딩할까요, URL 전체를 할까요
질의 문자열, 경로 조각, 프래그먼트에 텍스트를 넣을 때는 값 하나만 인코딩하세요. 그 안의 슬래시나 앰퍼샌드가 URL을 갈라놓기 때문입니다. URL 전체는 이미 올바른 URL이 있고 그 구조를 만드는 구분자를 지키고 싶을 때만 인코딩합니다.
공백이 왜 가끔 더하기 기호가 되나요
폼 데이터는 x-www-form-urlencoded 규칙을 따르며 공백을 더하기 기호로 씁니다. URL의 다른 부분에서는 %20으로 씁니다. 폼 파서는 둘 다 공백으로 읽지만, 경로 안에서 안전한 것은 %20뿐입니다.
UTF-8 말고 다른 문자 집합이 필요할 때가 있나요
드물지만 있습니다. 오래된 애플리케이션은 Windows-1252, ISO-8859-1, Shift_JIS의 바이트를 인코딩했기 때문에, 그런 시스템용 값을 UTF-8로 단정하면 깨져서 도착합니다. 상대가 실제로 쓰는 문자 집합을 고르세요.
서버로 전송되는 것이 있나요
없습니다. 페이지 전체가 표준 웹 API로 브라우저 안에서 동작하므로 입력한 텍스트는 탭을 벗어나지 않습니다. 토큰, 내부 URL 등 외부 서비스에 붙여 넣기 꺼려지는 것에도 안전합니다.