이 기사는 주로 ASP에서 Urlencode의 문제에 대한 솔루션을 소개하고 필요하면 필요하다면 참조하십시오
ASP에서 매개 변수를 전달할 때 매우 유용한 시스템 기능 서버가 있습니다 또한 사용한 후 프로그램이 상상 했듯이이 디코딩 기능을 제공하지 않았다는 것이 밝혀졌습니다. 해야 할 일, 직접하십시오.
Urlencode의 원리는 실제로 특수 문자를 16 진 ASC 코드 값으로 변환하는 것이 매우 간단하므로 해독 기능은 16 진수를 해당 문자로 다시 변환해야합니다.
- functionurldecode (enstr) 'URL 디코딩 함수
- DIMDEST
- DIMC, I, v
- Dest =
- fori = 1tolen (enstr)
- C = MID (Enstr, I, 1)
- IFC =%
- V = 평가 (& H+MID (ENSTR, I+1,2))
- ifv <128then
- Dest = Dest & Chr (V)
- i = i+2
- 또 다른
- ifisvalidHex (MID (Enstr, I, 3))
- ifisvalidHex (MID (Enstr, I+3,3))
- V = 평가 (& H+MID (ENSTR, I+1,2)+MID (ENSTR, I+4,2))
- Dest = Dest & Chr (V)
- i = i+5
- 또 다른
- V = Eval (& H+MID (ENSTR, I+1,2)+CSTR (HEX (ASC (ASC (MID (MID (ENSTR, I+3,1))))))))))))))
- Dest = Dest & Chr (V)
- i = i+3
- endif
- 또 다른
- Desp = Dest & c
- endif
- endif
- 또 다른
- IFC =+그런 다음
- 파괴 = 파괴 &
- 또 다른
- Desp = Dest & c
- endif
- endif
- 다음
- urldecode = desp
- 최종 기능 장애
- functionisValidHex (str)
- isvalidHex = true
- str = ucase (str)
- iflen (str) <> 3thenisvalidHex = false : exitfunction
- ifleft (str, 1) <>%whenisvalidHex = false : exitfunction
- C = MID (STR, 2,1)
- ifnot (((c> = 0) 및 (c <= 9)) 또는 ((c> = a) 및 (c <= z)))) then isvalidhex = false : exitfunction
- C = MID (STR, 3,1)
- ifnot (((c> = 0) 및 (c <= 9)) 또는 ((c> = a) 및 (c <= z)))) then isvalidhex = false : exitfunction
- 최종 기능 장애
테스트 후 GB312 형식에서 ASP를 사용하는 데 아무런 문제가 없습니다.