一个简单的字符问题
现在我能得到:%BC%BC%CA%F5%C2%DB%CC%B3 的字符
如果是页面本身变量,我可以直接request("变量名")获得这些字符的汉字
请问,哪个函数可以直接把 %BC%BC%CA%F5%C2%DB%CC%B3 变成中文汉字的??
问题点数:100、回复次数:3Top
1 楼tigerwen01(小虎)回复于 2005-08-03 08:52:33 得分 0
这是用什么算法得来的,就用什么算法还原,假如不是,那怎么变成中文汉字呢。Top
2 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-08-03 08:54:41 得分 80
你可以用javascript
a=decodeURI(%BC%BC%CA%F5%C2%DB%CC%B3)这个就是
如果你要在ASP里服务器端的VBSCRIPT里得到
可以用下面的函数
<%
'解码函数
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("%BC%BC%CA%F5%C2%DB%CC%B3")
%>
Top
3 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-08-03 09:35:51 得分 20
还是楼上的说得对,对不起,我开始的时候没仔细看,你的这些不是encode出来的Top




