仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 637|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:utf-8转gb2312和urlencode函数(精典源...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:06:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;函数|utf-8|gb2312|urlencode在网上供应了良多urlencode相干的函数,但成绩良多,另有UTF-8转GB2312或GB2312转UTF-8的函数也是成绩多多,上面供应的通用函数十分好用,倡议保藏,在处置中文参数时很有效。
源码以下:
<%
-----------------------------------
utf-8->gb2312
-----------------------------------
functionUTF2GB(UTFStr)
UTFStr=replace(UTFStr,"+","%20")
forDig=1tolen(UTFStr)
ifmid(UTFStr,Dig,1)="%"then
ifLCase(mid(UTFStr,Dig+1,1))="e"then
GBStr=GBStr&ConvChinese(mid(UTFStr,Dig,9))
Dig=Dig+8
else
GBStr=GBStr&chr(eval("&h"+mid(UTFStr,Dig+1,2)))
Dig=Dig+2
endif
else
GBStr=GBStr&mid(UTFStr,Dig,1)
endif
next
UTF2GB=GBStr
endfunction

functionConvChinese(x)
A=split(mid(x,2),"%")
i=0
j=0

fori=0toubound(A)
A(i)=c16to2(A(i))
next

fori=0toubound(A)-1
DigS=instr(A(i),"0")
Unicode=""
forj=1toDigS-1
ifj=1then
A(i)=right(A(i),len(A(i))-DigS)
Unicode=Unicode&A(i)
else
i=i+1
A(i)=right(A(i),len(A(i))-2)
Unicode=Unicode&A(i)
endif
next

iflen(c2to16(Unicode))=4then
ConvChinese=ConvChinese&chrw(int("&H"&c2to16(Unicode)))
else
ConvChinese=ConvChinese&chr(int("&H"&c2to16(Unicode)))
endif
next
endfunction
functionc2to16(x)
i=1
fori=1tolen(x)step4
c2to16=c2to16&hex(c2to10(mid(x,i,4)))
nextwww.aspxuexi.com
endfunction

functionc2to10(x)
c2to10=0
ifx="0"thenexitfunction
i=0
fori=0tolen(x)-1
ifmid(x,len(x)-i,1)="1"thenc2to10=c2to10+2^(i)
next
endfunction
functionc16to2(x)
i=0
fori=1tolen(trim(x))
tempstr=c10to2(cint(int("&h"&mid(x,i,1))))
dowhilelen(tempstr)<4
tempstr="0"&tempstr
loop
c16to2=c16to2&tempstr
next
endfunction
functionc10to2(x)
mysign=sgn(x)
x=abs(x)
DigS=1
do
ifx<2^DigSthen
exitdo
else
DigS=DigS+1
endif
loop
tempnum=x

i=0
fori=DigSto1step-1
iftempnum>=2^(i-1)then
tempnum=tempnum-2^(i-1)
c10to2=c10to2&"1"
else
c10to2=c10to2&"0"
endif
next
ifmysign=-1thenc10to2="-"&c10to2
endfunction

-------------------------www.aspxuexi.com-----------

FunctionURLDecode(enStr)
dimdeStr
dimc,i,v
deStr=""
fori=1tolen(enStr)
c=Mid(enStr,i,1)
ifc="%"then
v=eval("&h"+Mid(enStr,i+1,2))
ifv<128then
deStr=deStr&chr(v)
i=i+2
else
ifisvalidhex(mid(enstr,i,3))then
ifisvalidhex(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
endif
else
destr=destr&c
endif
endif
else
ifc="+"then
deStr=deStr&""
else
deStr=deStr&c
endif
endif
next
URLDecode=deStr
endfunction

functionisvalidhex(str)
dimc
isvalidhex=true
str=ucase(str)
iflen(str)3thenisvalidhex=false:exitfunction
ifleft(str,1)"%"thenisvalidhex=false:exitfunction
c=mid(str,2,1)
ifnot(((c>="0")and(c<="9"))or((c>="A")and(c<="Z")))thenisvalidhex=false:exitfunction
c=mid(str,3,1)
ifnot(((c>="0")and(c<="9"))or((c>="A")and(c<="Z")))thenisvalidhex=false:exitfunction
endfunction
%>
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 11:39:41 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
爱飞 该用户已被删除
板凳
发表于 2015-1-21 21:37:09 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
莫相离 该用户已被删除
地板
发表于 2015-1-30 22:42:11 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
山那边是海 该用户已被删除
5#
发表于 2015-2-6 16:37:24 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
不帅 该用户已被删除
6#
发表于 2015-2-17 08:21:50 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
再现理想 该用户已被删除
7#
发表于 2015-3-5 18:01:28 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
透明 该用户已被删除
8#
发表于 2015-3-12 11:39:20 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
活着的死人 该用户已被删除
9#
发表于 2015-3-19 21:44:11 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表