URL 인코더 / 디코더
브라우저에서 즉시 URL과 URI 구성 요소를 인코딩하고 디코딩합니다. 무료이며 비공개이며 업로드가 필요하지 않습니다.
브라우저에서 즉시 URL과 URI 구성 요소를 인코딩하고 디코딩합니다. 무료이며 비공개이며 업로드가 필요하지 않습니다.
URL 인코딩(공식적으로 RFC 3986에 정의된 백분율 인코딩)은 URL에서 특별한 의미를 갖는 문자(공백, 슬래시, 앰퍼샌드, 해시 표시)를 백분율 기호 뒤에 16진수 숫자를 사용하여 안전한 형식으로 변환합니다. 공백 문자는 %20(또는 양식 인코딩 컨텍스트에서는 +)이 되고, 앰퍼샌드는 %26이 됩니다. 이 인코딩이 없으면 특수 문자는 리터럴 데이터가 아닌 URL 구문으로 해석되어 URL이 손상되거나 의도하지 않은 동작이 발생합니다.
서로 관련되어 있지만 서로 다른 두 가지 인코딩이 존재합니다. 표준 URL 구성요소 인코딩은 예약되지 않은 문자 집합(A-Z, a-z, 0-9, 하이픈, 밑줄, 마침표, 물결표) 이외의 모든 항목에 대해 %-이스케이프를 사용합니다. 양식 인코딩 변형(application/x-www-form-urlencoded)은 추가로 공백을 더하기 기호로 처리하고 일부 다른 문자에 대해 다른 규칙을 사용합니다. JavaScript의 encodeURIComponent는 엄격한 구성 요소 인코딩을 사용합니다. encodeURI는 URL 구조 문자를 보존하는 보다 허용적인 형식을 사용합니다.
이 도구는 인코딩과 디코딩을 모두 제공합니다. 인코딩 모드는 이스케이프가 필요한 각 문자를 %HH 형식으로 래핑합니다. 디코드 모드에서는 변환이 반전됩니다. 두 가지 모두 내장된 JavaScript URL 기능을 사용하여 브라우저에서 완전히 실행되므로 데이터가 어디에도 전송되지 않습니다.
쿼리 문자열 매개변수, 사용자 입력이 포함된 경로 세그먼트, 리디렉션 대상 등 데이터가 URL에 포함될 때마다 적절한 인코딩이 필요합니다. 인코딩에 실패하면 특수 문자가 나타날 때 깨지는 URL이 생성되고, 매개변수 경계가 쿼리 문자열에 유출되거나(&x=1을 별도의 매개변수로 전환) 웹 서버에서 잘못된 형식의 요청으로 차단됩니다.
디코딩은 그 반대입니다. 즉, 인코딩된 URL에서 원본 데이터를 추출하는 것입니다. 브라우저 주소 표시줄에는 URL이 인코딩된 형식으로 표시되는 경우가 많습니다. 디코딩하면 실제로 의도한 것이 무엇인지 알 수 있습니다. 로깅, 디버깅 및 보안 분석은 모두 원래 매개변수와 경로를 표시하는 디코딩된 URL의 이점을 활용합니다.
문자열을 붙여넣고 방향을 선택하세요.
encodeURIComponent는 예약되지 않은 세트 [A-Za-z0-9-_.~] 외부의 모든 문자를 인코딩합니다. 공백은 %20, 더하기 기호는 %2B, 등호는 %3D가 됩니다. ASCII 외부 문자는 먼저 UTF-8로 인코딩된 다음 각 바이트가 %-이스케이프됩니다.
encodeURI는 더 허용적이며 구성 요소보다는 전체 URL을 위한 것입니다. /, ?, &, =, # 및 기타 몇 가지 문자는 URL 구문 의미를 갖기 때문에 이스케이프되지 않습니다. URL에 사용자 데이터를 삽입하려면 encodeURIComponent가 거의 항상 올바른 선택입니다.
decodeURIComponent는 %-이스케이프를 반대로 수행하여 각 이스케이프가 올바른 형식인지, 결과 바이트가 유효한 UTF-8을 형성하는지 확인합니다. 잘못된 입력은 쓰레기를 생성하는 대신 오류를 발생시킵니다.