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