Ich habe ein Dekodierungsproblem bei der Entwicklung mit ASP gestoßen. Obwohl die Verwendung von Anforderungen zur Erzielung von codierten URL -Zeichenfolgen in ASP automatisch dekodiert wird, decodieren Sie Request.BinaryRead (Request.TotalBytes) beim Erhalten von Postdaten nicht, sodass Sie sie nur manuell dekodieren können.
ASP -Dekodierungsfunktion:
Funktion Urldecode (enstr) dim Distrible, Strspecial dim c, i, v destr = "" strspecial = "!" "#$%& '()*+, .-_/:; v=eval("&h"+Mid(enStr,i+1,2)) if inStr(strSpecial,chr(v))>0 then deStr=deStr&chr(v) i=i+2 else v=eval("&h"+ Mid(enStr,i+1,2) + Mid(enStr,i+4,2)) deStr=deStr & chr(v) i=i+5 end if else if c="+" then deStr=deStr&" " else Zerstörungen = Zerstörungen & C End, wenn der nächste Urldecode = Zerstörungs EndfunktionEs ist nur ein persönliches Hobby. Ich habe die Implementierungsideen der Codierung alleine untersucht und schließlich eine Codierungsfunktion für Ihre Referenz geschrieben. Hinweis: ASP verfügt über eine integrierte Codierungsfunktion, nämlich Server.urlencode.
ASP -Codierungsfunktion:
private Function URLEncoding(vstrIn) strReturn = "" For i = 1 To Len(vstrIn) ThisChr = Mid(vStrIn,i,1) If Abs(Asc(ThisChr)) < &HFF Then strReturn = strReturn & ThisChr Else innerCode = Asc(ThisChr) If innerCode < 0 Then innerCode = innerCode + &H10000 End If Hight8 = (innerCode And & Hff00)/ & hff low8 = Innercode und & hff Streturn = Streturn & "%" & Hex (HIGHT8) & "%" & Hex (Low8) Ende, wenn der nächste Urlencoding = Streturn Endfunktion
Es wird empfohlen, dass Sie bei der Codierung in Chinesisch integrierte Funktionen in ASP verwenden. Obwohl die obige Codierungsfunktion n -mal getestet wurde und keine Probleme gefunden wurden, falls es ein Fehler gibt.
Im obigen Unternehmen geht es um ASP -Codierungs- und Dekodierungsfunktionen. Ich hoffe, es wird für das Lernen aller hilfreich sein.