Board logo

标题: 小弟求助一个VBS转码脚本 [打印本页]

作者: JEAN2010     时间: 2010-9-21 15:59    标题: 小弟求助一个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