ASP编码和解码函数详解
程序员文章站
2022-03-26 08:43:26
用asp开发的时候遇到一个解码问题。虽然在asp中使用request获取编码过url字符串会自动解码,但是request.binaryread(request.totalb...
用asp开发的时候遇到一个解码问题。虽然在asp中使用request获取编码过url字符串会自动解码,但是request.binaryread(request.totalbytes)取得post数据时却不会解码,所以只能手动进行解码。
asp解码函数:
function urldecode(enstr) dim destr,strspecial dim c,i,v destr="" strspecial="!""#$%&'()*+,.-_/:;<=>?@[/]^`{|}~%" for i=1 to len(enstr) c=mid(enstr,i,1) if c="%" then v=eval("&h"+mid(enstr,i+1,2)) if instr(strspecial,chr(v))>0 then destr=destr&chr(v) i=i+2 else v=eval("&h"+ mid(enstr,i+1,2) + mid(enstr,i+4,2)) destr=destr & chr(v) i=i+5 end if else if c="+" then destr=destr&" " else destr=destr&c end if end if next urldecode=destr end function
只是个人爱好,自己研究了一下编码的实现思路,最后自己写了一个编码函数,提供大家参考。注:asp有内置的编码函数,即是server.urlencode。
asp编码函数:
private function urlencoding(vstrin) strreturn = "" for i = 1 to len(vstrin) thischr = mid(vstrin,i,1) if abs(asc(thischr)) < &hff then strreturn = strreturn & thischr else innercode = asc(thischr) if innercode < 0 then innercode = innercode + &h10000 end if hight8 = (innercode and &hff00)/ &hff low8 = innercode and &hff strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8) end if next urlencoding = strreturn end function
建议大家在中文编码的时候,还是使用asp 内置的函数。虽然上面这个编码函数测试过n 遍了,没有发现问题,但是以防万一存在bug。
以上就是关于asp编码和解码函数,希望对大家的学习有所帮助。
上一篇: asp知识整理笔记4(问答模式)
下一篇: JAVA 从头开始<二>
推荐阅读
-
javascript中函数定义以及声明和表达式区别实例详解
-
php用于编码和解码的函数有哪些?
-
MySQL中DATABASE()和CURRENT_USER()函数的示例详解
-
asp.net+js实现批量编码与解码的方法
-
ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法
-
asp.net+js实现批量编码与解码的方法
-
基于字符集、字符编码与HTTP编码解码之万象详解
-
ASP.NET MVC @Helper辅助方法和@functons自定义函数的使用方法
-
在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程和用户自定义函数(下部分)
-
在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)