很多时候我们需要处理浏览器提交的URL编码,而这些编码是采用十六进制编码的,这就要求我们对这些内容进行解码
我们首先考虑,如何将两位十六进制数转化为未编码前相应的字符
下面是我们的一个小函数,他就可以完成这个功能
这个函数很简单,但你可能认为该程序漏掉了处理小写字母的情况
这里我们简要的介绍一下acsii,如果你用心的话你会发下大写和小写字母之间总是差32,也就是(100000)b ,这就是我们为什么在下面的处理中使用0xdf与一个大于A的字符相与的原因,相与后就会去掉第六位,也就是如果原来是小写的话,就转换为小写!如果是大写的话我们不做处理
这样我们就将%后面两位的十六进制数转换为了未编码前的字符了!
小孟,随笔! 2010-04-16