中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 02:27
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 小弟求助一个VBS转码脚本
可打印版本  871 / 0
第1楼 JEAN2010 发表于 2010-09-21 15:59
新手上路 发帖 1 积分 1
小弟求助一个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
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023