仓酷云

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

[学习教程] ASP网页编程之base64编码、解码函数

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

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

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

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对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。
小妖女 该用户已被删除
沙发
发表于 2015-1-20 09:32:07 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
乐观 该用户已被删除
板凳
发表于 2015-1-25 23:01:31 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
简单生活 该用户已被删除
地板
发表于 2015-1-26 22:12:53 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
谁可相欹 该用户已被删除
5#
发表于 2015-2-4 20:54:08 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
分手快乐 该用户已被删除
6#
发表于 2015-2-10 09:17:25 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
老尸 该用户已被删除
7#
发表于 2015-3-1 06:37:41 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-10 12:51:23 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
再见西城 该用户已被删除
9#
发表于 2015-3-17 07:10:54 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 13:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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