server.htmlencode的逆操作是什么?

xinsheng212 2005-05-11 03:15:06
我找这个问题主要为了解决一个替换。

有带有双引号的字符串,我要把它找出来替换,没办法写replace

replace(str1,a1,a2)

其中a1是abc"de
a2是abcdd"1de
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinsheng212 2005-05-20
  • 打赏
  • 举报
回复
自己顶下
xinsheng212 2005-05-16
  • 打赏
  • 举报
回复
自己顶下
xinsheng212 2005-05-12
  • 打赏
  • 举报
回复
奥,谢谢。

补问一个问题:上面我提到的被替换字符串包含双引号的问题,还有什么解决办法?
lovebanyi 2005-05-12
  • 打赏
  • 举报
回复
逆操作ASP没有啊。得用自己的


asp 里面没有urldecode函数,好象aspx里有吧,我不太清楚,但asp里面还是用得很多。在网上查找了有别人写的urldecode函数,但是这个函数有错误,而且在一些方面写得比较难理解。而且有错误,当里面有生僻双字节文字时就会产生错误,如“乄”经urlencoder后为“%81W”,解码就不能成功。

其实双字节编码在这里只要把"W"也编成16进制ASC码就可以。

知识点:计算机里的cookie也是经过urlencode编码的,所以urldecode对破解cookie也很有用呵。

下面是源代码:

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

你用此方法解码“%81W”看看,可以了。

当然,你还可以玩点小段,使之成为自己的一种字符串加密方式。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧