asp用urlEncode加密后的中文用asp.net UrlDecode解密会出现乱码,请问怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp用urlEncode加密后的中文用asp.net UrlDecode解密会出现乱码,请问怎么解决相关的知识,希望对你有一定的参考价值。
asp用urlEncode加密后的中文用asp.net UrlDecode解密会出现乱码,请问怎么解决
asp decode解码函数(asp页中的脚本代码,你可以用c#写一个):<%\'解码函数
Function URLDecode(enStr)
dim deStr
dim c,i,v
deStr=""
for i=1 to len(enStr)
c=Mid(enStr,i,1)
if c="%" then
v=eval("&h"+Mid(enStr,i+1,2))
if v<128 then
deStr=deStr&chr(v)
i=i+2
else
if isvalidhex(mid(enstr,i,3)) then
if isvalidhex(mid(enstr,i+3,3)) then
v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
deStr=deStr&chr(v)
i=i+5
else
v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1)))))
deStr=deStr&chr(v)
i=i+3
end if
else
destr=destr&c
end if
end if
else
if c="+" then
deStr=deStr&" "
else
deStr=deStr&c
end if
end if
next
URLDecode=deStr
end function
function isvalidhex(str)
isvalidhex=true
str=ucase(str)
if len(str)<>3 then isvalidhex=false:exit function
if left(str,1)<>"%" then isvalidhex=false:exit function
c=mid(str,2,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
c=mid(str,3,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
end function
\'使用方式:
response.write(urldecode("url.....url.....url") 参考技术A 你怎么传值的?
asp Server.urlencode使用
asp Server.urlencode对URL(带参数)进行编译,但打开时显示找不到网页,是不是在参数接收页面要进行对编码的反译?具体怎样做?谢谢!
参考技术A a=server.URLEncode("豆腐干反对")response.Write a&"<br>"
response.Write URLDecode(a)
Function URLDecode(enStr)
dim deStr,strSpecial
dim c,i,v
deStr=""
strSpecial="!""#$%&'()*+,.-_/:;<=>?@[\]^`|~%"
for i=1 to len(enStr)
c=Mid(enStr,i,1)
if c="%" then
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
deStr=deStr&c
end if
end if
next
URLDecode=deStr
End function
以上是关于asp用urlEncode加密后的中文用asp.net UrlDecode解密会出现乱码,请问怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
php如何用urlencode()我下面所写的这段代码进行中文加密?