中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 小弟求助一个VBS转码脚本 上一主题 | 下一主题
JEAN2010
新手上路





积分 1
发帖 1
注册 2010-9-19
状态 离线
『楼 主』:  小弟求助一个VBS转码脚本

比如我用GB2312格式的文本、我要转成UTF-8格式的文本
然后也可以UTF-8格式的文本也可以转回GB2312格式。。。
在网上看到的一些脚本都是按内容来转的、有没有按文本来转的呢?
不想用VBS中的AdoDb.Stream方法来转。。。

效果就如同下面的代码一样。。。
Dim FileUrl
FileUrl = "C:\456.txt"
Call WriteToFile(FileUrl, ReadFile(FileUrl, "utf-8"), "gb2312")

'-------------------------------------------------   
'函数名称:ReadFile   
'作用:利用AdoDb.Stream对象来读取各种格式的文本文件   
'----------------------------------------------------   

Function ReadFile(FileUrl, CharSet)   
    Dim Str   
    Set stm = CreateObject("Adodb.Stream")   
    stm.Type = 2   
    stm.mode = 3   
    stm.charset = CharSet  
    stm.Open  
    stm.loadfromfile FileUrl   
    Str = stm.readtext   
    stm.Close  
    Set stm = Nothing  
    ReadFile = Str   
End Function  

'-------------------------------------------------   
'函数名称:WriteToFile   
'作用:利用AdoDb.Stream对象来写入各种格式的文本文件   
'参数:FileUrl-文件相对路径;Str-文件内容;CharSet-编码格式(utf-8,gb2312.....)   
'----------------------------------------------------   

Function WriteToFile (FileUrl, Str, CharSet)   
    Set stm = CreateObject("Adodb.Stream")   
    stm.Type = 2   
    stm.mode = 3   
    stm.charset = CharSet  
    stm.Open  
    stm.WriteText Str   
    stm.SaveToFile FileUrl, 2   
    stm.flush  
    stm.Close  
    Set stm = Nothing  
End Function

2010-9-21 15:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: