2010-07-04 43 views
0

다시 인코딩을 피하기 위해 VBScript/JScript에서이 작업을 수행하려고합니다.
"%"가 있는지 판단해야합니까? "%"는 (는) URL에 다른 용도가 있습니까?
감사합니다.URL이 이미 encodeURI로 인코딩되었는지 판단하는 방법은 무엇입니까?

편집 : 아, 원래의 인코딩 기능은 encodeURI가 아닐 수 있습니다.
브라우저에서 URL을 수집하고 encodeURI로 인코딩 한 후 저장하려고합니다.
URL이 이미 인코딩 된 경우 다른 인코딩으로 잘못 처리됩니다.

답변

0

URL의 문자를 반복하고 URL에 이 (가) 허용되지 않는 문자를 테스트하십시오.

인코딩하는 경우. 불법 문자가 없으면 상관 없습니다

+0

좋은 소리. 음 ... 그럼 어떤 캐릭터가 불법입니까? encodeURI와 URLencode조차 다른 의견을 가지고 있습니다. – phoenies

+1

은 RFC1738에 정의 된대로 안전 문자는 0-9a-zA-Z 및 $ -_. +! * '()이며 그 밖의 모든 것은 안전하지 않습니다 –

+0

불법 문자는 일반적으로 다음과 같습니다. # % & * {} \ : < >?/+ 연속되는 마침표가 없거나 한 마디로 끝나는 것과 같은 다른 규칙이 있습니다. –

0

디코딩 해보고 그 결과를 원래의 URL과 비교해 볼 수도 있습니다. 길이가 변경되거나 짧아지면 원래 URL이 이미 인코딩되었을 것입니다.

+0

고맙습니다. 따라서 인코딩되지 않은 URL은 디코딩 할 수 없습니다. 항상 사실입니까? – phoenies

+0

저는 100 %가 아니지만 괜찮은 출발점 일 수 있습니다. 적당하지 않은 재미있는 URL이 생길 수도 있습니다. 어쩌면 그 중 일부는 인코딩 된 문자를 가지고 있어야합니다. –

+0

확인. 이것은 내가 가지고있는 것입니다 : decodeURI는 알 수없는 오류 800A13A1을 발생시킵니다. Google은 해독 할 문자열에 잘못된 문자가 포함되어 있다고 말합니다. – phoenies

관련 문제