标题: [问题求助] 求VBS脚本快捷的二进制读写 [打印本页]
作者: jyswjjgdwtdtj 时间: 2023-3-18 10:43 标题: 求VBS脚本快捷的二进制读写
我要把一个二进制文件每一个byte都写入一个txt里
如二进制文件为:
682669BC1A2B
那我就要输出到txt
104
38
105
188
26
43
请问怎么高效地输出?
或是换一种方式?- a=timer
- Set ado = CreateObject("adodb.stream")
- Set fso = CreateObject("scripting.filesystemobject")
- Set file = fso.OpenTextFile("049.txt",2,True)
- ado.Type = 1
- ado.Open
- ado.LoadFromFile("049.xxx")
- Do Until ado.EOS
- file.Write ascb(ado.Read(1))&" "
- Loop
- ado.Close
- msgbox timer-a
复制代码
这样一个4兆的文件都要28秒,而且狂耗cpu
应该就是耗在ascb上面
或者能不能换一种“加密”方式
就是让不能直接打开就行了
求了……
作者: czjt1234 时间: 2023-3-18 10:47
- '示例:以二进制数据对文件进行Base64编码和解码,不能是0字节的空文件
- Dim oStream, file, oNode, s
-
- file = "1.txt"
-
- 'base64编码
- Set oStream = CreateObject("ADODB.Stream")
- oStream.Type = 1 'adTypeBinary
- oStream.Mode = 3 'adModeReadWrite
- oStream.Open()
- oStream.LoadFromFile file
- Set oNode = CreateObject("Msxml2.DOMDocument").CreateElement("base64")
- oNode.DataType = "bin.base64"
- oNode.nodeTypedValue = oStream.Read()
- oStream.Close()
- Wsh.Echo oNode.Text
-
- 'base64解码
- s = oNode.Text
- Set oNode = CreateObject("Msxml2.DOMDocument").CreateElement("base64")
- oNode.DataType = "bin.base64"
- oNode.Text = s
- Set oStream = CreateObject("ADODB.Stream")
- oStream.Type = 1 'adTypeBinary
- oStream.Mode = 3 'adModeReadWrite
- oStream.Open()
- oStream.Write oNode.nodeTypedValue
- oStream.SaveToFile file, 2 'adSaveCreateOverWrite
- oStream.Close()
-
- MsgBox "ok"
复制代码
作者: jyswjjgdwtdtj 时间: 2023-3-18 11:15
回复 2# czjt1234
牛逼!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |