| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何以 Unicode 格式打开文本文件?
如何以 Unicode 格式打开文本文件?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 11:19:03
问:

您好,脚本专家!我有一些含有 Unicode 字符的文本文件。当我尝试使用某脚本打开这些文件时,得到的全都是乱码。如何以 Unicode 格式打开文本文件?

-- FA

答:

您好,FA。您知道,真正伟大的魔术师不会精心编制一些复杂的戏法,依靠陷阱门、暗藏控制板和巨大的烟雾来掩盖他们所实施的任何把戏。反之,魔术师知道最好的戏法就是简单的戏法,这种戏法依靠的是一些明显、直观但又容易被多数人忽视的道具。脚本专家的工作方式往往也是这样。在解答某问题时,我们会进行彻底深入的研究,然后再集体讨论数小时,设法编写出一个除了脚本专家谁都不可能想出的脚本。我们在开玩笑是吗?是的。与之相反,脚本专家通常依靠的是明显、直观但又容易被多数人忽视的途径。

这不是华而不实,而是确实简单得多。

以您的问题为例。让我们假设您有一个非常简单的 Unicode 文件,该文件由下面的字符组成:

abc ėěĩ def

当您使用某脚本打开该文件并回显其内容时,会发生什么事情?嗯,您得到类似于以下内容的结果:

您好,脚本专家!


有意思。如果您从文件中移除所有的 ASCII 字符(只留下 ėěĩ),则在您回显内容时会得到以下结果:

您好,脚本专家!


这看起来甚至更酷了。老兄,我们整天都能做这个!

但是,正如我们经理刚刚指出的,我们整天真正能够(应该)做的就是完成这个专栏。很有道理;记住这一点后,我们提供了以下脚本,用来打开 Unicode 文件并正确回显其内容:

Const ForReading = 1

Const TriStateTrue = -1



Set objFSO = CreateObject("Scripting.FileSystemObject")



Set objFile = objFSO.OpenTextFile("c:/scripts/test.txt", ForReading,False,TriStateTrue)



strText = objFile.ReadAll

objFile.Close



Wscript.Echo strText

首先,我们定义一对常量:ForReading 和 TriStateTrue。ForReading 用于打开文本文件进行读取;TriStateTrue 用于 - 嗯,我们还不想透露这个令人兴奋的结局。您会马上发现 TriStateTrue(使用值 -1)是用来做什么的。

创建 FileSystemObject 实例后,我们再调用 OpenTextFile 方法来打开文件 C:/Scripts/Test.txt。您说“令人厌烦”是什么意思?看一看我们传递给 OpenTextFile 的参数:

Set objFile = objFSO.OpenTextFile("c:/scripts/test.txt", ForReading,False,TriStateTrue)

前两个参数对您来说或许不难理解:它们只不过是要打开的文件的完整路径和常量 ForReading。您说对了:在读取文本文件方面,这是标准的操作程序。但其它两个参数(一个是 False,另一个是常量 TriStateTrue)的用途是什么呢?

这就是脚本专家玩魔术的地方。第三个可选参数是 Boolean 参数,如果它为 True,则在无法找到指定文本文件的情况下它会创建该文件。因为我们只是想打开现有文件,所以将该参数设为 False(也是默认值)。

下面介绍第四个参数,我们的老朋友 TriStateTrue。如果传递给 OpenTextFile 方法的第四个参数为 -1,则该文件将作为 Unicode 文件打开。就是这么简单。如果省略第四个参数则文件将以 ASCII 格式打开;将第四个参数设置为 -1,然后说变就变!- 您的文件将以 Unicode 格式打开。

谢谢,谢谢,您太客气了。为我们可爱的助手 Marjorie 鼓鼓掌怎么样?

那是什么?它当然行得通。看一看我们生成的消息框:

您好,脚本专家!


下一个戏法,我们现在将让一个脚本专家消失,然后重新出现在他儿子的中学棒球比赛中。(我们有没有提过这个脚本专家的小孩在赛季过去四分之三时击球率就超过了 .400?别担心:我们并不是想烦扰您听一个脚本专家父亲自夸他儿子。- 编者注:只有其他脚本专家才会体会到这种乐趣。)明天见。

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客
    如何在一个文件被添加到
    如何将“珊瑚虫”好友请

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览