费翔苏见信:怎么样把二进制文件转换成文本文件?

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 07:03:46

On error resume next
do while 1
fname=InputBox("请输入要转换的文件名(包括路径):","输入文件名","f:\hhh.exe")
if fname="" then Wscript.quit
err.number=0
Set Ado = createObject("adodb.stream")
With Ado
.Type = 1
.open
.loadfromfile fname
ss = .read
End With
if err.number<>0 then
if msgbox("文件打开错误!",1,"File2VBS")=2 then Wscript.quit
else
exit do
end if
loop
fname=InputBox("请输入声成的vbs名(包括路径):","输入文件名","f:\hhh.vbs")
if fname="" then Wscript.quit
Set Fso=createObject("Scripting.FileSystemObject")
Set File=fso.OpenTextFile(fname,2, True)
lens=lenB(ss) mod 500
For j=0 to int(lenB(ss)/500)-1
if j=0 then
File.writeline "ss="""&Bin2Str(midb(ss,500*j+1,500))&"""_"
else
File.writeline "+"""&Bin2Str(midb(ss,500*j+1,500))&"""_"
end if
next
if lens>0 then
File.writeline "+"""&Bin2Str(rightb(ss,lens))&""""
else
File.writeline "+"&chr(34)&chr(34)
end if
File.writeline ""
File.writeline "Set RS=createObject(""ADODB.Recordset""):"
File.writeline "L=Len(ss)/2:"
File.writeline "RS.Fields.Append ""m"",205,L:"
File.writeline "RS.Open:"
File.writeline "RS.AddNew:"
File.writeline "RS(""m"")=ss&ChrB(0):"
File.writeline "RS.update:"
File.writeline "ss=RS(""m"").GetChunk(L)"
File.writeline "Set s=createObject(""ADODB.Stream""):"
File.writeline "with s:"
File.writeline ".Mode = 3:"
File.writeline ".Type = 1:"
File.writeline ".Open():"
File.writeline ".Write ss:"
File.writeline ".SaveToFile wscript.arguments(0),2:"
File.writeline "end with"
File.close
Set fso=nothing
Ado.close
set Abo=nothing
Function Bin2Str(Re)
For i = 1 To lenB(Re)
bt = AscB(MidB(Re, i, 1))
if bt < 16 Then Bin2Str=Bin2Str&"0"
Bin2Str=Bin2Str & Hex(bt)
Next
End Function
msgbox "OK"

上面这个脚本,忘了从哪里弄来的了,转exe的,不过只要是2进制就行,
但是文件太大,会失败

把扩展名改为.txt即可。

文本文件实际上是经过编码的,也就是规范了的二进制文件,你想转换成哪种规范?

C:\My Documents\62.jpg