日期:2014-05-17  浏览次数:20878 次

baidu搜索相关问题 在线等 16点开始结分
例如:我搜索的是:高中生留学


http://www.baidu.com/s?wd=%B8%DF%D6%D0%C9%FA%C1%F4%D1%A7&cl=3


为什么不出现,
http://www.baidu.com/s?wd=高中生留学=3


是什么转了什么码?

能说给我听吗?

谢谢

------解决方案--------------------
'-------------------------------------百度关键字解码---------------------------------

Function URLDecode(byval 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

'----------------------------------------百度关键字解码结束-------------------------