如何在VBScript中将二进制数据写入磁盘?
发布时间:2020-12-16 06:37:13 所属栏目:asp.Net 来源:网络整理
导读:我有一个二进制字符串,我需要写入文件.我有一种感觉,这应该是一个简单的过程,但再次,VBScript. FileSystemObject没有任何帮助,因为它会对数据进行清理.使用它的adBinaryMode及其Write方法,Stream对象看起来很有前途,但Write方法需要一个字节数组,而不会接受
我有一个二进制字符串,我需要写入文件.我有一种感觉,这应该是一个简单的过程,但再次,VBScript. FileSystemObject没有任何帮助,因为它会对数据进行清理.使用它的adBinaryMode及其Write方法,Stream对象看起来很有前途,但Write方法需要一个字节数组,而不会接受变量数组.由于VBScript数组都是变体数组,因此这似乎有问题.
那么,我如何将数据写入文件? 编辑:我应该补充说,整个事情必须是VBScript.没有额外的组件.对不起,我也不喜欢它. 解决方法
也可以使用普通的FileSystemObject,这里是我在自定义上传脚本中使用的代码,我很久以前使用在线找到的代码将二进制字符串转换为ASCII:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.CreateTextFile("file path here") objFile.Write(RSBinaryToString(strBinaryContents)) objFile.Close Set objFile=Nothing Set objFSO=Nothing Private Function RSBinaryToString(xBinary) 'Antonin Foller,http://www.motobit.com 'RSBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string) 'to a string (BSTR) using ADO recordset Dim Binary 'MultiByte data must be converted To VT_UI1 | VT_ARRAY first. If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary Dim RS,LBinary Const adLongVarChar = 201 Set RS = CreateObject("ADODB.Recordset") LBinary = LenB(Binary) If LBinary>0 Then RS.Fields.Append "mBinary",adLongVarChar,LBinary RS.Open RS.AddNew RS("mBinary").AppendChunk Binary RS.Update RSBinaryToString = RS("mBinary") Else RSBinaryToString = "" End If End Function Function MultiByteToBinary(MultiByte) '? 2000 Antonin Foller,http://www.motobit.com ' MultiByteToBinary converts multibyte string To real binary data (VT_UI1 | VT_ARRAY) ' Using recordset Dim RS,LMultiByte,Binary Const adLongVarBinary = 205 Set RS = CreateObject("ADODB.Recordset") LMultiByte = LenB(MultiByte) If LMultiByte>0 Then RS.Fields.Append "mBinary",adLongVarBinary,LMultiByte RS.Open RS.AddNew RS("mBinary").AppendChunk MultiByte & ChrB(0) RS.Update Binary = RS("mBinary").GetChunk(LMultiByte) End If MultiByteToBinary = Binary End Function (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 为什么Hangfire需要身份验证才能查看仪表板
- asp.net-mvc-2 – ASP.NET MVC:如何解析url字符串以获取Ro
- asp.net-mvc – asp.net mvc博客引擎
- asp.net – 密码和确认密码
- 在Asp.Net中动态添加控件
- asp.net-mvc-3 – MVC2到MVC3 IOC问题
- asp.net – 将Always Encrypted Certificate放在IIS 7.5 We
- 详解ASP.NET Core 2.0 路由引擎之网址生成(译)
- asp.net-mvc – 导航菜单中突出显示在Asp.NET MVC?
- asp-classic – Classic ASP中的Response.Flush导致TIME_WA
推荐文章
站长推荐
热点阅读