国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS實現GB2312,UTF-8,Unicode,BIG5編碼轉換工具

2020-06-26 18:23:43
字體:
來源:轉載
供稿:網友
VBS寫的GB2312,UTF-8,Unicode,BIG5編碼轉換工具,轉換工具下載:GB2Ue.vbs (3.34 kb)
 
演示 
echo "ABCDE &!@#$ ^<>() %% abcde 測試!"> "處理前.txt" 
GB2Ue.vbs "處理前.txt" "處理后.txt" 
Ue2U8.vbs "處理后.txt" 
U82GB.vbs "處理后.txt" 
GB2U8.vbs "處理后.txt" 
U82Ue.vbs "處理后.txt" 
Ue2GB.vbs "處理后.txt" 
@echo 經過6次處理 "處理后.txt" 和 "處理前.txt" 仍舊是相同編碼 
如果不知道文件的原始編碼,請使用 

下面里面里面具體代碼: 
復制代碼代碼如下:

' *==============================================================================* 
' * CMD 命令行編碼轉換工具包括GB2312,UTF-8,Unicode,BIG5...支持拖拽、文件另保存為 * 
' * CodeChange.vbs BY: yongfa365 
' * GB2Ue.vbs BY: fastslz 
' *==============================================================================* 
aCode = "GB2312" 
bCode = "Unicode" 
Show = "本腳本僅支持"&aCode&"到"&bCode&"的轉換,請拖拽單個要轉換的文件到此文件上! " 
Usage1 = "語法1:GB2Ue.vbs [驅動器][目錄][文件名] (直接替換原文件模式)" 
Usage2 = "語法2:GB2Ue.vbs [驅動器][目錄][文件名] [目標驅動器][目錄][新名稱] /Y" 
Usage3 = " 如果目標新文件已存在,使用/Y參數后將直接替換而不提示是否改寫! " 
Usage4 = "命令行編碼轉換工具 BY: fastslz" 

Set objArgs=WScript.Arguments 
Set fso=CreateObject("Scripting.FileSystemObject") 
if objArgs.Count=0 Then 
MsgBox Show &vbCrLf&vbCrLf& Usage1 &vbCrLf& Usage2 &vbCrLf& Usage3, vbInformation, Usage4 
Wscript.Quit 
end if 
if not objArgs.Count < 3 Then 
Options="/y" 
ignoring = StrComp(objArgs(2), Options, vbTextCompare) 
if ignoring = 0 Then 
Sourcefile=objArgs(0) 
Getfile=objArgs(1) 
else 
MsgBox "文件數量或參數太多,拖拽批量處理請用 ANSI2Unicode.vbs ", vbInformation, "程序意外終止"
Wscript.Quit 
end if 
else 
if not objArgs.Count < 2 Then 
Sourcefile=objArgs(0) 
Getfile=objArgs(1) 
if fso.FileExists(objArgs(1)) then 
Choice = MsgBox ("待處理文件“"+Sourcefile+"” ==> 目標文件“"+Getfile+"” "&vbCrLf&"目標文件已存在,是否改寫現有文件?“"+objArgs(1)+"” ",vbQuestion+vbYesNo,"是否改寫") 
if Choice = vbYes Then 
Getfile=objArgs(1) 
else 
Wscript.Quit 
end if 
end if 
else 
Sourcefile=objArgs(0) 
Getfile=objArgs(0) 
end if 
end if 

Call CheckCode (Sourcefile) 
Call WriteToFile(Getfile, ReadFile(Sourcefile, aCode), bCode) 
Wscript.Quit 

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

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

Function CheckCode (Sourcefile) 
Dim slz 
set slz = CreateObject("Adodb.Stream") 
slz.Type = 1 
slz.Mode = 3 
slz.Open 
slz.Position = 0 
slz.Loadfromfile Sourcefile 
Bin=slz.read(2) 
if AscB(MidB(Bin,1,1))=&HEF and AscB(MidB(Bin,2,1))=&HBB Then 
Codes="UTF-8" 
elseif AscB(MidB(Bin,1,1))=&HFF and AscB(MidB(Bin,2,1))=&HFE Then 
Codes="Unicode" 
else 
Codes="GB2312" 
end if 
if not aCode = Codes Then 
MsgBox "待處理文件 “"&Sourcefile&"”"&vbCrLf&"該文件原始編碼不是"&aCode&",本腳本僅支持"&aCode&"到"&bCode&"的轉換! ",vbInformation,"錯誤終止" 
WScript.Quit 
end if 
slz.Close 
set slz = Nothing 
End Function 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克陶县| 泸水县| 湟源县| 颍上县| 株洲县| 利辛县| 兴业县| 威海市| 安庆市| 金门县| 昆明市| 区。| 遂溪县| 尚义县| 河北省| 镇巴县| 沁阳市| 鄢陵县| 新昌县| 彭泽县| 绥棱县| 深圳市| 南城县| 扎兰屯市| 鹿泉市| 迭部县| 桂林市| 杂多县| 洪江市| 蓬安县| 西华县| 彭水| 泊头市| 福安市| 曲沃县| 漾濞| 长沙市| 水富县| 肥西县| 华池县| 河南省|