仓酷云

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

[学习教程] ASP网站制作之客户端Cookie中文编程(上)

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

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

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

x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。cookie|编程|客户端|中文客户端Cookie中文编程(转自yesky.com)

 Cookie的利用中,我们发明如许一个成绩:假如写进Cookie的内容是中文(如用户称号),用服务器端程序(如ASP或PHP)读出完整准确,可是用一样平常的JavaScript或VBScript的读Cookie函数掏出的倒是一堆乱码。这是一个辣手的成绩,由于在有些情形下,Cookie的内容必要在客户机端用剧本言语读取。假如你写进了中文,失掉了一堆乱码,是否是感到很别扭呢?办理这个成绩,还要从Cookie的存取体例提及。
 我们晓得,写进Cookie内容前必要举行escape(十六进制编码),编码时又是以字节为单元的,这就是成绩的关头地点:任何一个汉字城市被拆成两个字节分离编码;而在读Cookie时,unescape又以字节单元解码,因而最初每一个汉字都酿成了两个字节的乱码。怎样办呢?ASP或PHP体例可以准确读出,应当是在unescape解码后,又依照unicode编码把个中的汉字拼了出来。假如如许的话,能不克不及找到一种变通的办法办理这个成绩呢?细心研讨后发明,只需在十六进制codec(编解码)过程当中可以保留汉字信息就好了,因此我们必要再外包一层codec历程,计划以下:

  1.在escape编码前,把Cookie字符串中的每一个字符转换为unicode码的字符串情势(用一特别字符作为字串的分开符)。

  2.在unescape解码后,先把一切unicode字串提掏出来,再用对应的函数转换为原字符。

<SCRIPTLANGUAGE=javascript>
<!--
//编码程序:
functionCodeCookie(str)
{
 varstrRtn="";

 for(vari=str.length-1;i>=0;i--)
 {
  strRtn+=str.charCodeAt(i);
  if(i)strRtn+="a";//用a作分开符
 }
 returnstrRtn;
}

//解码程序:
functionDecodeCookie(str)
{
 varstrArr;
 varstrRtn="";

 strArr=str.split("a");

 for(vari=strArr.length-1;i>=0;i--)
 strRtn+=String.fromCharCode(eval(strArr[i]));

 returnstrRtn;
}
//-->
</script>


VBScript版程序以下:

<SCRIPTLANGUAGE=vbscript>
<!--
"编码程序:
functionCodeCookie(str)
Dimi
DimstrRtn

fori=len(str)to1step-1
strRtn=strRtn&ascw(mid(str,i,1))
if(i1)thenstrRtntrRtn&"a""用a作分开符
next
CodeCookie=strRtn
endfunction

"解码程序:
functionDecodeCookie(str)
Dimi
DimstrArr,strRtn

strArr=Split(str,"a");

fori=UBound(strArr)-LBound(strArr)to1step-1
strRtn=strRtn&chrw(Val(strArr(i)))
next

DecodeCookie=strRtn
endfunction
-->
</script>


</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。
小魔女 该用户已被删除
沙发
发表于 2015-1-19 05:59:58 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-24 07:49:34 来自手机 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
透明 该用户已被删除
地板
发表于 2015-1-31 22:13:49 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
老尸 该用户已被删除
5#
发表于 2015-2-7 00:14:15 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
精灵巫婆 该用户已被删除
6#
发表于 2015-2-19 04:28:28 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
若相依 该用户已被删除
7#
发表于 2015-3-6 12:54:05 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
海妖 该用户已被删除
8#
发表于 2015-3-13 01:08:11 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
只想知道 该用户已被删除
9#
发表于 2015-3-13 01:08:13 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
小女巫 该用户已被删除
10#
发表于 2015-3-20 08:15:59 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 05:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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