J'ai rencontré un problème de décodage lors du développement avec ASP. Bien que l'utilisation de la demande pour obtenir des chaînes d'URL codées dans ASP se décodera automatiquement, request.binaryRead (request.totalbytes) ne décodera pas lors de l'obtention de données post, vous ne pouvez donc la décoder manuellement.
Fonction de décodage ASP:
Fonction urldecode (Entr) dim destr, strSpecial dim c, i, v destr = "" strSpecial = "!" "# $% & '() * +,.-_ /:; <=>? @ [/] ^` {|} ~% "Pour i = 1 à len (entr) c = mid (setr, i, 1) if c ="% "alors" alors v = eval ("& h" + mid (Entr, i + 1,2)) si instr (strspecial, chr (v))> 0 alors destr = destr & chr (v) i = i + 2 else v = ev ("& h" + mid (Entr, i + 1,2) + mid (entr, i + 4,2)) destr = destr & ch (v) i + i + 5 end if else c = "+" alors destr & ch (v) "else destr = destr & c end si fin if Next UrlDecode = destr End FonctionC’est juste un passe-temps personnel. J'ai étudié les idées de mise en œuvre du codage par moi-même et j'ai finalement écrit une fonction de codage pour votre référence. Remarque: ASP a une fonction de codage intégrée, à savoir server.urlencode.
Fonction de codage ASP:
Fonction privée Urlencoding (vstrin) strreturn = "" pour i = 1 à len (vstrin) thischr = mid (vstrin, i, 1) if ABS (asc (thatchr)) <& hff alors strreturn = strreturn & thischr else innercode = ASC (thischr) if Innercode <0 alors innercode = innercode + & h10000 se termine si hightcode et innercode = Innercode + & h10000 & Hff00) / & hff Low8 = InnerCode et & HFF STRRETURN = STRRETURN & "%" & Hex (Hight8) & "%" & hex (Low8) Fin If Next UrLencoding = Streturn End Fonction
Il est recommandé d'utiliser des fonctions intégrées dans ASP lors du codage en chinois. Bien que la fonction de codage ci-dessus ait été testée n fois et aucun problème n'a été trouvé, juste au cas où il y a un bogue.
Ce qui précède concerne les fonctions de codage et de décodage ASP, j'espère que cela sera utile à l'apprentissage de chacun.