작동 원리
허용된 세트 외부의 각 문자는 퍼센트 기호와 UTF-8 바이트의 두 개의 16진수 숫자로 작성됩니다. encodeURIComponent는 A-Z a-z 0-9 - _를 제외한 모든 것을 이스케이프합니다. ! ~ * ( ) encodeURI는 예약된 URL 구두점을 그대로 유지합니다.
- 쿼리 값에는 구성요소 모드를 사용하십시오. 전체 URL 모드는 다음을 유지합니다: / ? & = 그대로.
왜 중요한가요?
쿼리 문자열은 미묘한 방식으로 분리됩니다. &가 포함된 검색어는 자동으로 새 매개변수를 생성하고, 파일 이름 내부의 슬래시는 경로를 변경하며, 공백은 예상치 못한 위치에서 종료됩니다. 올바르게 인코딩하는 것은 작업 링크와 지원 티켓의 차이입니다.
실제 사례
encodeURIComponent("a b&c")는 a%20b%26c를 반환하는 반면 encodeURI는 문자열을 전체 URL로 처리하므로 &를 유지합니다. 잘못된 항목을 선택하면 쿼리가 분할되는 위치가 변경됩니다.
일반적인 실수
- 단일 쿼리 값에 전체 URL 인코딩을 사용합니다.
- decodeURIComponent가 +를 공백으로 바꿀 것으로 예상됩니다. 그것은 형식 인코딩입니다.
- 두 번 인코딩하고 서버에 %2520이 표시되는 이유가 궁금합니다.
실용적인 팁
각 쿼리 값을 별도로 인코딩한 다음 인코딩된 부분에서 URL을 빌드합니다. 값이 이미 인코딩된 것으로 보이면 해당 값을 한 번 디코딩하고 디코딩된 형식에서 다시 인코딩하세요. 반복되는 인코딩은 %25 스타일 버그의 가장 일반적인 소스입니다.
사용방법
- 도구를 엽니다. 모든 것이 브라우저 탭에서 실행됩니다.
- 입력 내용을 붙여넣거나 입력한 후 필요한 작업을 선택하세요.
- 결과를 확인하고 한 번의 클릭으로 복사하세요.
일반적인 질문
구성요소와 전체 URL은 언제 사용합니까?
단일 쿼리 값에 대한 구성 요소입니다. 여기서 / ? & =는 이스케이프되어야 합니다. 전체 URL은 해당 구분 기호를 그대로 유지합니다.
공백이 %20이 되는 이유는 무엇입니까?
퍼센트 인코딩은 공백을 %20으로 나타냅니다. + 형식은 URL이 아닌 HTML 형식 인코딩에 속합니다.
디코딩하면 왜 + 기호가 남나요?
decodeURIComponent는 +를 공백으로 처리하지 않습니다. 값이 양식 제출에서 나온 경우 먼저 +를 공백으로 바꿉니다.
이 도구는 정말 무료인가요?
예. 계정, 페이월, 사용 제한이 없습니다. Tools App은 이를 개발한 스튜디오인 aumenso에서 자금을 지원합니다.
내가 입력한 내용이 업로드되었나요?
아니요. 도구는 브라우저 탭에서 실행됩니다. 귀하가 입력하는 내용은 결코 당사로 전송되거나 저장되지 않습니다.