|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。编码|函数这是我看完几个base64编码、解码函数后本人改写的。
由于,在中文操纵体系的VBscript中,利用的是unicode字符集,以是
良多base64编码、解码函数在实际上是准确的,但实践不克不及运转!
我加写了几个Unicode与Ansi编码转换的函数,现贴出来,请人人执教!
文件称号base64test.asp
<%
sBASE_64_CHARACTERS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
sBASE_64_CHARACTERS=strUnicode2Ansi(sBASE_64_CHARACTERS)
FunctionstrUnicodeLen(asContents)
盘算unicode字符串的Ansi编码的长度
asContents1="a"&asContents
len1=len(asContents1)
k=0
fori=1tolen1
asc1=asc(mid(asContents1,i,1))
ifasc1<0thenasc1=65536+asc1
ifasc1>255then
k=k+2
else
k=k+1
endif
next
strUnicodeLen=k-1
EndFunction
FunctionstrUnicode2Ansi(asContents)
将Unicode编码的字符串,转换成Ansi编码的字符串
strUnicode2Ansi=""
len1=len(asContents)
fori=1tolen1
varchar=mid(asContents,i,1)
varasc=asc(varchar)
ifvarasc<0thenvarasc=varasc+65536
ifvarasc>255then
varHex=Hex(varasc)
varlow=left(varHex,2)
varhigh=right(varHex,2)
strUnicode2Ansi=strUnicode2Ansi&chrb("&H"&varlow)&chrb("&H"&varhigh)
else
strUnicode2Ansi=strUnicode2Ansi&chrb(varasc)
endif
next
Endfunction
FunctionstrAnsi2Unicode(asContents)
将Ansi编码的字符串,转换成Unicode编码的字符串
strAnsi2Unicode=""
len1=lenb(asContents)
iflen1=0thenexitfunction
fori=1tolen1
varchar=midb(asContents,i,1)
varasc=ascb(varchar)
ifvarasc>127then
strAnsi2Unicode=strAnsi2Unicode&chr(ascw(midb(asContents,i+1,1)&varchar))
i=i+1
else
strAnsi2Unicode=strAnsi2Unicode&chr(varasc)
endif
next
Endfunction
FunctionBase64encode(asContents)
将Ansi编码的字符串举行Base64编码
asContents应该是ANSI编码的字符串(二进制的字符串也能够)
DimlnPosition
DimlsResult
DimChar1
DimChar2
DimChar3
DimChar4
DimByte1
DimByte2
DimByte3
DimSaveBits1
DimSaveBits2
DimlsGroupBinary
DimlsGroup64
Dimm4,len1,len2
len1=Lenb(asContents)
iflen1<1then
Base64encode=""
exitFunction
endif
m3=Len1Mod3
IfM3>0ThenasContents=asContents&String(3-M3,chrb(0))
补足位数是为了便于盘算
IFm3>0THEN
len1=len1+(3-m3)
len2=len1-3
else
len2=len1
endif
lsResult=""
ForlnPosition=1Tolen2Step3
lsGroup64=""
lsGroupBinary=Midb(asContents,lnPosition,3)
Byte1=Ascb(Midb(lsGroupBinary,1,1)):SaveBits1=Byte1And3
Byte2=Ascb(Midb(lsGroupBinary,2,1)):SaveBits2=Byte2And15
Byte3=Ascb(Midb(lsGroupBinary,3,1))
Char1</p>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 |
|