1

Тема: VBS: прочитать binary файл

Пробуем считывать двоичный файл

Set fso = CreateObject("Scripting.FileSystemObject")
Set InpFile = fso.OpenTextFile("d:\_1\readme1.rar",1,False,0)
InpStr=InpFile.ReadAll

При просмотре исходного файла и полученной строки содержимое не совпадает.

For i=1 To Len(InpStr)
  WScript.Echo hex(Asc(mid(InpStr,i,1)))
next

Не подскажете, есть ли стандартные способы чтения двоичного файла?
Чувствую, что "OpenTextFile" - это, наверное, не для binary данных, а как сделать понять пока не могу.

2

Re: VBS: прочитать binary файл

Нашел в http://forum.script-coding.com/viewtopic.php?id=1226

Function ReadBinaryFile(filename)
    Dim bArr
    With CreateObject("ADODB.Stream")
        .Type = 1 'adTypeBinary
        .Open
        .LoadFromFile filename
        bArr = .Read
        .Close
        ReadBinaryFile = bArr
    End With
End Function

3 (изменено: VSVLAD, 2011-04-06 13:14:46)

Re: VBS: прочитать binary файл

OpenTextFile() - читает байты довольно неплохо. Не вижу проблемы
Чем смотрите исходный файл?
Также делайте так, если нужно выровнять байты в двухбайтовый вид

WScript.Echo Right("0" & Hex(Asc(Mid(InpStr, I, 1))), 2)

4

Re: VBS: прочитать binary файл

Серый форум / JS/VBS: Чтение бинарных файлов и оттуда дальше по ссылкам.