资源描述:
《asp国标转大五码--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、asp国标转大五码>><%’==================================================’函数名:gb2big5’作用:国标码转大五码’参数:Text------字符串’==================================================Functiongb2big5(Text)DimAdos,Max,i,c,b,h,lIfIsNull(Text)OrText=""ThenExitFunctionSetAdos=Server.CreateObj
2、ect("Adodb.Stream")Ados.Mode=3Ados.Type=1Ados.OpenAdos.LoadFromFile(Server.MapPath("gb-big5.table"))Text=Server.UrlEnCode(Text)b=""Max=Len(Text)Fori=1ToMaxc=Mid(Text,i,1)Ifc="%"Thenh=eval("h"+Mid(Text,i+1,2))Ifh<128Thenb=bchr(h)i=i+2ElseIfisvalidhex(mid(Text,i
3、,3))ThenIfisvalidhex(mid(Text,i+3,3))Thenl=eval("h"+Mid(Text,i+4,2))Ados.Position=(h-160)*510+(l-1)*2b=bbytes2BSTR(Ados.Read(2))i=i+5Elseb=b""i=i+3EndIfEndIfEndIfElseIfc="+"Thenb=b""Elseb=bcEndIfEndIfNextSetAdos=Nothinggb2big5=bEndFunctionFunctionisvalidhex(str)i
4、svalidhex=truestr=ucase(str)IfLen(str)<>3Thenisvalidhex=false:ExitFunctionifLeft(str,1)<>"%"Thenisvalidhex=false:ExitFunctionc=Mid(str,2,1)IfNot(((c>="0")And(c<="9"))Or((c>="A")And(c<="Z")))Thenisvalidhex=false:ExitFunctionc=Mid(str,3,1)If
5、Not(((c>="0")And(c<="9"))Or((c>="A")And(c<="Z")))Thenisvalidhex=false:ExitFunctionEndFunctionFunctionbytes2BSTR(vIn)DimstrReturnDimi,ThisCharCode,NextCharCodestrReturn=""Fori=1ToLenB(vIn)ThisCharCode=AscB(MidB(vIn,i,1))IfThisCharCo12下一页>>>>这篇文章来自..,。d
6、e<H80ThenstrReturn=strReturnChr(ThisCharCode)ElseNextCharCode=AscB(MidB(vIn,i+1,1))strReturn=strReturnChr(CLng(ThisCharCode)*H100+CInt(NextCharCode))i=i+1EndIfNextbytes2BSTR=strReturnEndFunction%>上一页12>>>>这篇文章来自..,。