2009-02-13 53 views
0

我想手动创建一个二进制脚本,然后将其另存为二进制文件。如何在VbScript中创建BinaryArray?

我想附加下面的所有字节并创建一个二进制文件。

&HF0 
&HF1 
&HF2 

我希望能够做这样的事:

Dim generateData(3) As Byte 
generateData(0) = &HFF 
generateData(1) = &HFE 
generateData(2) = &HFC 

但显然为字节不会对VBSCRIPT工作。我使用下面的函数写二进制数组到硬盘上(至少我的时候我能创造一个二进制数组)

Function SaveBinaryData(FileName, ByteArray) 
    Const adTypeBinary = 1 
    Const adSaveCreateOverWrite = 2 

    'Create Stream object 
    Dim BinaryStream 
    Set BinaryStream = CreateObject("ADODB.Stream") 

    'Specify stream type - we want To save binary data. 
    BinaryStream.Type = adTypeBinary 

    'Open the stream And write binary data To the object 
    BinaryStream.Open 
    BinaryStream.Write ByteArray 

    'Save binary data To disk 
    BinaryStream.SaveToFile FileName, adSaveCreateOverWrite 
End Function 

回答

1

我所看到的东西沿着这些路线使用:

Sub WriteBinary(FileName, Buf) 

    Dim I, aBuf, Size, bStream 

    Size = UBound(Buf): ReDim aBuf(Size \ 2) 

    For I = 0 To Size - 1 Step 2 

     aBuf(I \ 2) = ChrW(Buf(I + 1) * 256 + Buf(I)) 

    Next 

    If I = Size Then aBuf(I \ 2) = ChrW(Buf(I)) 

    aBuf=Join(aBuf, "") 

    Set bStream = CreateObject("ADODB.Stream") 

    bStream.Type = 1: bStream.Open 

    With CreateObject("ADODB.Stream") 

     .Type = 2 : .Open: .WriteText aBuf 

     .Position = 2: .CopyTo bStream: .Close 

    End With 

    bStream.SaveToFile FileName, 2: bStream.Close 

    Set bStream = Nothing 

End Sub 
+0

没错我在找什么!干杯 – 2009-02-14 00:21:18