URL 인코딩/디코드
URL 인코딩 또는 디코딩 및 쿼리 문자열
URL이란 무엇입니까? 인코딩?
URL 인코딩(퍼센트 인코딩이라고도 함)은 특수 문자를 사용할 수 있는 형식으로 변환합니다. URL로 안전하게 전송됩니다. URL에는 제한된 ASCII 문자 집합만 포함될 수 있으므로 이 집합 밖의 모든 문자는 "%" 뒤에 두 개의 16진수 숫자가 오는 형식으로 인코딩되어야 합니다. 문자의 ASCII 값을 나타냅니다.
예를 들어 공백은 %20이 되고 @
기호는 %40이 됩니다. 이는 다음을 보장합니다.
URL은 유효한 상태로 유지되며 특수 문자(예: & 및 =)가 URL 구조를 방해하지 않습니다.
쿼리 문자열에서).
이 도구를 사용하는 방법
인코딩 대 구성 요소 인코딩
- 인코딩(encodeURI): 전체를 인코딩합니다. :, /, ?, =, &
- 와 같은 유효한 URL 문자를 유지하는 URL 구성 요소 인코딩(encodeURIComponent): 문자, 숫자 및 - _를 제외한 모든 것을 인코딩합니다. ! ~ * '( ). 쿼리에 이것을 사용하십시오 매개변수 값.
- 디코드: 백분율로 인코딩된 문자열을 변환합니다. 읽을 수 있는 텍스트로 돌아가기
일반적인 사용 사례
🔗 쿼리 문자열 매개변수
URL 매개변수를 통해 사용자 입력을 전달할 때 인코딩은 특수 문자가 URL 구조를 깨뜨립니다. 예를 들어 "name=John Doe&city=New York"은 인코딩이 필요합니다. 공간을 위해.
📧 이메일 링크(mailto:)
제목 줄이나 본문 텍스트, 특수 문자 및 모든 이메일 클라이언트에서 올바르게 작동하려면 공백을 인코딩해야 합니다.
🔐 API 요청
REST API는 특히 JSON을 보낼 때 매개변수 값을 URL로 인코딩해야 하는 경우가 많습니다. GET 요청을 통한 데이터, 인증 토큰 또는 검색어.
📊 분석 및 추적
UTM 매개변수 및 추적 코드에는 정확한 데이터를 보장하기 위해 인코딩된 값이 포함되는 경우가 많습니다. URL 구문 분석 오류 없이 전송됩니다.
일반적인 문자 인코딩
| Character | Encoded | Description |
|---|---|---|
| (space) | %20 or
+ |
Space character |
| & | %26 |
Ampersand |
| = | %3D |
Equals sign |
| ? | %3F |
Question mark |
| / | %2F |
Forward slash |
| @ | %40 |
At symbol |
| # | %23 |
Hash/pound |
| % | %25 |
Percent sign |
자주 묻는 질문
차이점은 무엇입니까? encodeURI와 encodeURIComponent 사이에 있습니까?
encodeURI()
은 :, /, ?, &와 같은 문자를 보존하면서 완전한 URL을 인코딩합니다. encodeURIComponent()
은 모든 것을 인코딩하므로 개별 쿼리 매개변수 값을 인코딩하는 데 적합합니다.
%20을 사용해야 할까요, 아니면 +를 사용해야 할까요? 공백?
둘 다 공백을 나타내지만 %20은 표준 URL 인코딩이고 +는 양식 데이터에만 적용됩니다. (응용 프로그램/x-www-form-urlencoded). 쿼리 문자열의 경우 둘 중 하나가 작동하지만 %20이 더 많습니다. 보편적으로 호환됩니다.
내 데이터는 다음과 같은 경우 안전한가요? 이 도구를 사용하고 있나요?
예! 모든 인코딩 및 디코딩은 JavaScript를 사용하여 브라우저에서 수행됩니다. 귀하의 데이터는 결코 귀하의 장치를 떠나 어떤 서버로도 전송되지 않습니다.
'오류: URI'가 나타나는 이유는 무엇입니까? 기형"?
이 오류는 잘못된 백분율 인코딩 시퀀스를 디코딩하려고 할 때 발생합니다. 확인하십시오 입력에 유효한 인코딩이 포함되어 있습니다(% 뒤에 정확히 두 개의 16진수 숫자가 옵니다).
모범 사례
- 사용자 입력을 URL에 배치하기 전에 항상 인코딩합니다.
- 쿼리 매개변수 값에 encodeURIComponent를 사용하고, 전체 URL에 encodeURI를 사용합니다.
- 가독성을 위해 사용자에게 표시하기 전에 URL을 디코딩합니다.
- 애플리케이션 전체에서 인코딩 일관성을 유지합니다.
- 다양한 브라우저에서 특수 문자를 사용하여 URL을 테스트합니다.