Asp 编码互转的研究和实现代码

来源:asp之家 时间:2011-03-30 10:44:00 

文章背景:

某天,我的一个同事给我看了CSDN上面的一篇关于编程语言排行榜的文章,里面我看到VB还是排名很不错的,我就说,asp(vbscript)确实挺不错。结果他就反驳我,说asp不好,很多东西很难实现。我说比如哪些东西?我开发了几年的asp都没有发现很难实现的东西,除非是属于非脚本语言范围内的,比如多线程的应用(当然,asp也可以模拟实现多线程任务)等。结果他说了什么多线程,还有编码转换等,说自己曾经为了转换编码费了很大精力却没有成功过,所以觉得asp太弱。听到这样的话,我们就知道他的编程底子还不够扎实,并且对asp认识也是非常有限的(并且后来说自己asp几个常用的基本对象都不知道,也没有用过,我差点被气晕过去——连这都没有用过,还跟我谈asp很弱,看来...白长着么大了,连“没有根据,没有发言权”都不懂!呵呵...),所以,我一气之下,在那个周末就把asp编码互转的问题给实现了,让他见识见识什么是asp,竟然这么看不起asp,想着就火大!当然,我的这个研究也同时填补了到目前为止关于asp开发中编码转换研究的空白!

现在,我们开始转入正题,首先,我们了解一下编码转换的过程,一段文字的编码如果要转换,我们就要知道当前文字所对应的编码集,然后用对应的编码集去读取,这是编码正确被转换的前提(如果这步弄错了,那么转换出来的就会是一连串乱码)!好了,找对了当前编码,并且正确读取出来了以后,我们就可以用设定好目标编码的Stream对象去保存这个内容到指定文件中了,到这里我们的编码转换就成功了!

下面我们来看一下asp编码转换的具体代码实现:

代码如下:


'转换编码 content 要转换编码的内容, cset 目标编码, dest 目标文件绝对路径 
Function TransferCharSet(content, cset, dest) 
Dim Objstream 
Set Objstream = Server.CreateObject("adodb.stream") 
objstream.Mode =3 
objstream.Charset = cset 
objstream.Type = 2 
objstream.Open 
objstream.WriteText content 
objstream.Position = 0 
objstream.SaveToFile dest,2 
objstream.Close 
set objstream = nothing 
End Function 
'用对应编码读取指定内容 
Function getcontent(path) 
Dim Objstream 
Set Objstream = Server.CreateObject("Adodb.Stream") 
objstream.Charset = GetCharSetName(path) 
objstream.Type = 2 
objstream.Mode =3 
'objstream.Charset = code 
objstream.Open 
Objstream.LoadFromFile path 
objstream.Position = 0 
getcontent = objstream.ReadText 
objstream.Close 
set objstream = nothing 
End Function 
'取得指定内容的编码名称 
Function GetCharSetName(path) 
Set objstream=server.createobject("Adodb.Stream") 
objstream.Type=1 
objstream.mode=3 
objstream.open 
objstream.Position=0 
objstream.loadfromfile path 
bintou=objstream.read(2) 
If AscB(MidB(bintou,1,1))=&HEF And AscB(MidB(bintou,2,1))=&HBB Then 
GetCharSetName="utf-8" 
ElseIf AscB(MidB(bintou,1,1))=&HFF And AscB(MidB(bintou,2,1))=&HFE Then 
GetCharSetName="unicode" 
Else 
GetCharSetName="gb2312" 
End If 
objstream.close 
Set objstream=nothing 
End Function 

好了,经过这样一段代码,我们的转换工作就完成了!希望这篇文章能给asp爱好者以及其他语言爱好者带来一些帮助和启发。

最后,我想说的是,编程语言的学习和使用并不难,重要的是自己多动脑筋,想想自己需要的功能怎么去实现,而不是怨天尤人,说这个语言太弱了之类的话。

好了,祝大家编程并快乐着,关于asp的编码转换先写到这里,以后我还会推出更精彩的个人原创文章,谢谢大家!

标签:Asp,编码互转
0
投稿

猜你喜欢

  • 导航与搜索合并的可能性

    2009-09-27 12:06:00
  • Oracle如何直接运行OS命令(下)第1/2页

    2010-07-30 13:26:00
  • 浅析设计与内容呈现的关系

    2009-08-06 18:12:00
  • 如何测试字符串的长度?

    2009-11-11 20:02:00
  • 网页绿色系配色应用实例

    2008-08-26 11:51:00
  • 基于google图表API的jquery组件 I

    2010-03-01 10:20:00
  • 仿天涯底部固定漂浮导航,无JS纯CSS定义

    2009-07-06 12:44:00
  • Dreamweaver制作技巧四则

    2008-01-04 09:42:00
  • JS语法检查插件 jsLint for Vim

    2010-11-15 21:31:00
  • 菜鸟课堂:MySQL权限的详细解答

    2009-09-03 11:43:00
  • 50种方法巧妙优化SQL Server数据库

    2008-12-24 15:49:00
  • 网页图片按钮的生成与美化

    2008-12-12 13:03:00
  • ASP用JAVASCRIPT脚本实现分页的办法

    2007-10-30 13:18:00
  • 用滤镜使网页图片产生旋转效果

    2007-11-03 11:36:00
  • Oracle 数据表分区的策略

    2010-07-21 13:30:00
  • ASP实例:即时显示当前页面浏览人数

    2008-04-19 22:02:00
  • asp如何读取文本文件的内容?

    2009-11-18 20:55:00
  • REPAIR TABLE语法介绍——MySQL数据库

    2012-01-05 19:08:59
  • 浅谈Javascript中的事件流和事件绑定

    2009-07-20 17:13:00
  • 让字体美起来

    2011-06-14 09:50:21
  • asp之家 网络编程 m.aspxhome.com