banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[VBS]檔案批次轉換編碼

工作中需要將大量 GB2312 編碼的文件轉換為 UTF-8 編碼,Baidu 找了一段很實用的 VBS 可以有效解決問題。 使用方法也很簡單,添加到工程調用 ConvertFile 即可。需要注意的是 Adodb.Stream 方式生成的 UTF-8 文件的頭部會包含 3 個字節的 BOM,處理 PHP 之類的無 BOM 要求的文件時需要注意一下。

Function ConvertFile(FileUrl)
SrcCode = "gb2312" ‘源編碼
DestCode = "utf-8" ‘目標編碼
Call WriteToFile(FileUrl, ReadFile(FileUrl, SrcCode), DestCode)
End Function

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

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

參考 http://www.cnblogs.com/fanzhidongyzby/p/3782143.html http://blog.csdn.net/caikanxp/article/details/5614901

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。