对于网页开发者来说,有时候要对URL进行编码显示在浏览器的地址栏,增加链接的安全性,下面是源代码,引用URLDecode即可。。

'作 用:URL解码

'================================================

Function URLDecode(ByVal urlcode)

Dim start,final,length,char,i,butf8,pass

Dim leftstr,rightstr,finalstr

Dim b0,b1,bx,blength,position,u,utf8

On Error Resume Next

b0 = Array(192,224,240,248,252,254)

urlcode = Replace(urlcode,"+"," ")

pass = 0

utf8 = -1

length = Len(urlcode) : start = InStr(urlcode,"%") : final =

InStrRev(urlcode,"%")

If start = 0 Or length < 3 Then URLDecode = urlcode : Exit

Function

leftstr = Left(urlcode,start - 1) : rightstr = Right(urlcode,length

- 2 - final)

For i = start To final

char = Mid(urlcode,i,1)

If char = "%" Then

bx = URLDecode_Hex(Mid(urlcode,i + 1,2))

If bx > 31 And bx < 128 Then

i = i + 2

finalstr = finalstr & ChrW(bx)

ElseIf bx > 127 Then

i = i + 2

If utf8 < 0 Then

butf8 = 1 : blength = -1 : b1 = bx

For position = 4 To 0 Step -1

If b1 >= b0(position) And b1 <

b0(position + 1) Then

blength = position

Exit For

End If

Next

If blength > -1 Then

For position = 0 To blength

b1 = URLDecode_Hex(Mid(urlcode,i + position * 3 + 2,2))

If b1 < 128 Or b1 > 191 Then butf8 = 0 : Exit For

Next

Else

butf8 = 0

End If

If butf8 = 1 And blength = 0 Then butf8 = -2

If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" :

pass = 1

utf8 = butf8

End If

If pass = 0 Then

If utf8 = 1 Then

b1 = bx : u = 0 : blength = -1

For position = 4 To 0 Step -1

If b1 >= b0(position) And b1 <

b0(position + 1) Then

blength = position

b1 = (b1 xOr b0(position)) * 64 ^ (position + 1)

Exit For

End If

Next

If blength > -1 Then

For position = 0 To blength

bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) : i = i + 3

If bx < 128 Or bx > 191 Then u = 0 : Exit For

u = u + (bx And 63) * 64 ^ (blength - position)

Next

If u > 0 Then finalstr = finalstr & ChrW(b1 + u)

End If

Else

b1 = bx * &h100 : u = 0

bx = URLDecode_Hex(Mid(urlcode,i + 2,2))

If bx > 0 Then

u = b1 + bx

i = i + 3

Else

If Left(urlcode,1) = "%" Then

u = b1 + Asc(Mid(urlcode,i + 3,1))

i = i + 2

Else

u = b1 + Asc(Mid(urlcode,i + 1,1))

i = i + 1

End If

End If

finalstr = finalstr & Chr(u)

End If

Else

pass = 0

End If

End If

Else

finalstr = finalstr & char

End If

Next

URLDecode = leftstr & finalstr & rightstr

End Function

Function URLDecode_Hex(ByVal h)

On Error Resume Next

h = "&h" & Trim(h) : URLDecode_Hex = -1

If Len(h) <> 4 Then Exit Function

If isNumeric(h) Then URLDecode_Hex = cInt(h)

End Function

转载请标明电脑保姆之家http://www.tchotn.cn

html 链接加密,网页设计_URL解码超级链接加密解密相关推荐

  1. 权威国外网页设计网站建设论坛链接

    权威国外网页设计网站建设论坛链接 1. http://www.sitepoint.com/forums PageRank:8 网页编程语言讨论.网站设计.网站seo等等国外权威 [推荐] 2. htt ...

  2. html超文本链接本页面,从HTML语言到网上家园 第三章 超文本链接(1)-网页设计,HTML/CSS...

    超文本链接是 html 语言最大的特点之一,使用超文本链接可以极大的增加文件访问的灵活度,人们可以通过点击页面中的链接指针查看所需的内容,进退自如,灵活方便,这更加符合人的跳跃.交叉的思维方式.凡是浏 ...

  3. java swing 链接_JAVA中Jtable标签设置超级链接:基于Java Swing的超链接标签和超链接按钮的实现...

    希望在一个标签上设置超级链接,找到了如下的一种方法: 1.要解决的问题 基于Java Swing的超链接实现 2.自定义一个超链接标签控件[LinkLabel] 2.1.完整代码如下: public ...

  4. css链接的线,CSS网页技巧:实现超级链接文字上划线和下划线

    链接文字的上划线.下划线.删除线(贯穿线).闪烁等可以通过CSS的text-decoration属性来实现.其属性值与效果相对应的关系如下: text-decoration: none : 无装饰 b ...

  5. java文件加密软件设计_【文件夹加密超级大师和Java软件构架设计模式哪个好用】文件夹加密超级大师和Java软件构架设计模式对比-ZOL下载...

    强大的文件和文件夹加密软件,还具有彻底隐藏磁盘以及禁止使用或只读使用USB存储设备.数据粉碎删除等功能. 软件特色功能: 1  对文件夹具有五种加密方法: 闪电加密:瞬间加密你电脑里或移动硬盘上的文件 ...

  6. 如何在html设计页面做超链接,网页设计超链接怎么弄 网页设计里面的返回超链接怎么弄啊...

    接下来在页面的上方选择[插入] 就像百度一样,选了"网页"时,"网页"就是黑色的.选了"知道","知道"就直接通过设置元 ...

  7. 如何做超级链接?如何做网页链接

    如和将网页地址做成超级链接?如何做超级链接?如何做网页链接? 怎样才能将word文档中的网页地址做成超级链接? 工具/自动更正选项/自动套用格式中选上"Internet及网络路径替换为超链接 ...

  8. 在html语言中建立网页链接,HTML代码实例:详细讲解超级链接

    HTML代码实例:详细讲解超级链接 互联网   发布时间:2009-04-02 20:55:27   作者:佚名   我要评论 超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级 ...

  9. HTML代码实例:详细讲解超级链接--网页制作

    [转]http://www.webjx.com/html-xhtml/webxhtml-10153.html 超级链接是网站中使用比较频繁的HTML元素,因为网站的各种页面都是由超级链接串接而成,超级 ...

最新文章

  1. python中font_Python ColorFont包_程序模块 - PyPI - Python中文网
  2. ​脑机技术可以应用于军事领域,有助于评估士兵的认知状态
  3. 用Tableau制作滚动时间轴(下)
  4. php 数据显示,数据显示处理,该怎么处理
  5. python学习高级篇(part3)--MRO
  6. Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索
  7. aspx隐藏前台控件div_c# – 代码隐藏页面无法“查看”aspx页面中声明的任何项目/控件...
  8. 十大面试问题解惑,秒杀一切HR、技术面试。iOS程序员必读!
  9. SpringMVC对象绑定时自定义名称对应关系
  10. 【CVRP】基于matlab人工鱼群算法求解带容量的车辆路径规划问题【含Matlab源码 1486期】
  11. Anki 批量编辑替换插件
  12. 西安交大计算机2000年山西专业录取分数,西安交大在山西各专业录取分数.doc
  13. 如何理解零知识 zkSNARK应用中的Nullifier Hash攻击?
  14. 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
  15. Laya1.x Timer小记
  16. 用python把数据画成饼状图_Python学习第92课——数据可视化之饼状图绘制
  17. EasyExcel解析excel(合并单元格和未合并)
  18. android 8三星note8,去年发布的三星Note8到底还值不值得买,三星Note8深度体验!!!...
  19. 北京大学计算机硕博连读5年,关于2018年北京大学硕博连读研究生选拔工作的通知-更新...
  20. 【图像检测】基于计算机视觉实现米粒个数检测含Matlab源码

热门文章

  1. Mysql多表查询,获取部门最高工资的sql语句方案
  2. HTTP的各种状态码你了解吗?
  3. python如何将两个list合并成字典_怎么把两个列表合并成字典 论Python怎样将两个list合并为一个字典...
  4. Hbuilder x css样式编写无提醒
  5. CTFshow-吃鸡杯-RE
  6. 一起来看看SpringBoot蓝天幼儿园管理系统(详解)
  7. stm32f103移植到stm32f105的时钟问题
  8. 华为CE系列和S系列交换机堆叠配置及mad检测
  9. php DOS word在线预览,如何在 Zoho Docs 中在线预览文件
  10. 行为识别数据集 Kinetics