Имя: Пароль:
IT
Админ
Кто в VBS или CMD/BAT спец? Подскажите как сделать hex2byte
0 Брудвар
 
26.09.17
20:55
Нужно написать прогу которая может прочитать с диска файл in.hex в котором в hex формате хранятся данные, например:
A0E20F327F45 и так далее. Просто символы от 0 до F

Потом нужно эти данные преобразовать в соответствующие байты и записать в другой файл out.bin

Вроде все просто, но я не нашел готового решения, а сам в этих языках программирования вообще не шарю.

Есть тут специ по данным видам программирования?
1 Aleksey
 
26.09.17
20:58
что значит "преобразовать в соответствующие байты"
2 H A D G E H O G s
 
26.09.17
20:59
1000 рублей/час. Обращайтесь.
3 Филиал-msk
 
26.09.17
21:00
(0) https://www.google.ru/search?q=hex2bin
Татарин, он, Еврейчику программу найти поможет, как же...
4 Fram
 
26.09.17
21:05
(0) тупо переименовать файл не пробовал?
5 Брудвар
 
26.09.17
21:08
(1) Это когда два шестнадцатеричных символа занимают 8 бит в файле.
6 Fram
 
26.09.17
21:12
7 Fram
 
26.09.17
21:14
наверно этот больше подойдет http://tomeko.net/online_tools/hex_to_file.php?lang=en
8 Брудвар
 
26.09.17
21:15
(6) Во, точно. Так должны преобразовываться hex в символы.
Только нужно чтобы из файла бралось и в файл записывалось.
9 Брудвар
 
26.09.17
21:18
(7) Но только не онлайн. Там где скрипт работает нет интернета. Нужно именно скриптовым языком написать программу, которая будет работать на голом виндовсе без дополнительных компиляторов и интерпретаторов.
То есть чтобы я мог сесть за компьютер, и напечатать программу. Портов для флэшек и дисководов тоже нет.
10 Fram
 
26.09.17
21:18
(8) угадай где я взял эти ссылки?
11 Брудвар
 
26.09.17
21:19
(10) Даже не знаю. В интернете чтоли?
12 Fram
 
26.09.17
21:20
(11) держи готовое решение, лентяй
https://stackoverflow.com/questions/20422595/hex-to-binary-using-vbscript
13 Fram
 
26.09.17
21:28
(12)+ а вот как читать/писать файлы
https://stackoverflow.com/questions/854975/how-to-read-from-a-text-file-using-vbscript

соединяй
14 Брудвар
 
26.09.17
21:29
(12) Спасибо, но я уже сам что-то подобное написал:
strString = ""
strHex ="74657374"

For i=1 To Len(strHex) / 2
    strString = strString + Chr("&H" + Mid(strHex, i * 2 - 1, 2))
Next

WScript.Echo strString

Только это не в файл пишется, а на экран. Придется еще изучать как с файлами работать, а мне это никогда больше не пригодится, поэтому трачу время впустую
15 quest
 
26.09.17
21:30
твойСкрипт твоеЧислоДляПреобразования > файлКоторыйНужен
16 Fram
 
26.09.17
21:32
(14) Все работы хороши, все профессии важны (c)
17 Сияющий в темноте
 
26.09.17
21:58
Scripting FileSystemObject
читаем два символа,получаем код одного,через  Chr его в символ и Write в файл
18 Брудвар
 
28.09.17
09:08
(17) Третий день уже делаю прогу, не могу понять что не так:

strHex = "417364D4FBE2"
upperBound = CInt(Len(strHex) \ 2) - 1
ReDim bytes(upperBound)
For i = 0 To upperBound
  bytes(i) = Chr(CInt("&h" & Mid(strHex, i * 2 + 1, 2)))
Next
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write bytes
BinaryStream.SaveToFile "bin.txt", 2

Выдает ошибку что что-то с типами.
Кто шарит в этом дурацком бейсике? Подскажите как исправить
19 htwor
 
28.09.17
10:03
Вот здесь написано, что
"You can write binary data if you have binary data to write, but VBScript can't create binary data."
И далее идет ссылка на компоненту, которая должна помочь. Но ссылка не работает.
Так что пора переходить на powershell.
http://computer-programming-forum.com/8-vbscript/bdeab3aadc03790e.htm
20 Брудвар
 
28.09.17
10:43
(19) Я и так уже убил три дня на изучение бейсика. Предлагаешь начать все заново?
21 Брудвар
 
28.09.17
13:19
Up
22 Брудвар
 
28.09.17
13:39
?
23 Tateossian
 
28.09.17
13:50
24 1dvd
 
29.09.17
09:27
писал такое на турбо пасскале лет 20 назад
25 Брудвар
 
30.09.17
10:49
(24) Это не возможно. Турбо паскаля нет в винде
26 Сияющий в темноте
 
30.09.17
10:59
Так exe файл,который делает турбо паскаль,прекрасно без него запускается
27 NorthWind
 
30.09.17
12:43
(0) бат можно отмести сразу. VBS вряд ли справится с записью бинарного файла... если только ADODB.Stream попробовать, но не уверен, потому что VBS не умеет работать с указателями, а чтобы писать бинарку, надо передать указатель на данные. Я бы сделал на Delphi/C/C++.
28 NorthWind
 
30.09.17
12:45
(25) есть, только называется по-другому. Delphi Compiler. Ну или, если напрягает вопрос лицензионной чистоты, то Lazarus.
29 Брудвар
 
30.09.17
17:09
(26) Только этот файл неоткуда взять.
(27) VBS может записывать бинарные файлы, но есть проблемы с созданием бинарных массивов.
(29) Delphi Compiler нету, Lazarus тоже
30 NorthWind
 
30.09.17
17:43
(29) VBS их записывать не может точно, он штатно работает только с текстовыми файлами. Работать с бинарями может объект ADODB.Stream, входящий в библиотеку Microsoft ADO, который, в свою очередь, можно подключить из VBS. Но поскольку VBS не имеет прямого доступа к памяти - непонятно, как передать в ADODB.Stream ссылку на данные, которые необходимо записать. И есть опасение, что таки никак не передадите.
31 NorthWind
 
30.09.17
17:44
+ (29) ну, нету - скачайте да поставьте. Лазарус - это свободное ПО, вы ничего этим не нарушите.
32 NorthWind
 
30.09.17
17:46
кроме того, вам он нужен только на той машине где вы будете делать свою программу. Потом скомпилируете ее в автономный исполняемый файл и отнесете на машину, где она будет работать. Лазарус там уже не будет нужен.
33 NorthWind
 
30.09.17
17:51
(19) а повершелл умеет из переменной в памяти бинарь на диск записать? Я чет не уверен.
34 Sserj
 
30.09.17
18:18
(29) А какая у тебя система?
Так часто упоминаешь что неоткуда нечего взять, хотя в винде уже с winXP кажется всегда есть нетовские компиляторы.
Вот у меня на win10
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe - компилятор C# сразу после установки системы.
Т.е на более ранних системах только v4.0.30319 может быть другая ну и вместо Framework64 - Framework.
Т.е. компялторв C# есть, а на нем гораздо проще найти готовый пример.
35 Woldemar177
 
30.09.17
18:40
C++ в первых главах Страуструп рассказывает как это сделать.

ЗЫ не надо ему дельфи.
36 Woldemar177
 
30.09.17
18:43
Сдается мне у ТС все гораздо проще, это можно сделать, просто он всю часть задачи не рассказывает.
37 Брудвар
 
30.09.17
19:09
(31) Если бы можно было скачивать, я бы так не извращался.
38 Брудвар
 
30.09.17
19:10
(32) Нельзя ничего отнести на ту машину. Писал уже. Можно только написать с нуля.
39 Брудвар
 
30.09.17
19:13
(34) Windows Server 2016 Datacenter
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
Да, есть такой файл. Ахахахха! Круто! Спасибо, выручил.
40 Брудвар
 
30.09.17
19:15
(33) Ну тут советовали что типа он умеет.
41 Мэс33
 
30.09.17
19:34
http://hex2bin.sourceforge.net/
И батник, который вызывает
hex2bin -b xxxx.hex
42 Брудвар
 
30.09.17
20:32
(41)не читатель. Нельзя скачивать. Нужно написать.
43 Woldemar177
 
30.09.17
20:59
(42) Да у нас здесь опять студент биздельник и лентяй. Безобразие.
44 Мэс33
 
30.09.17
21:29
(42) и кому это надо сегодня? И зачем? Студент что ли?)
45 Мэс33
 
30.09.17
21:45
46 Брудвар
 
30.09.17
23:08
(44) Писал уже в (9). Нужно на компе на котором нет доступа к закачке файлов сделать свою прогу которая сможет конвертировать текст в файлы.

Если даже я и студент, то к учебе это не имеет никакого отношения.
47 Брудвар
 
30.09.17
23:10
(45) Интересно. Спасибо за ответ.
48 Брудвар
 
04.10.17
22:13
(45) На бейсике жутко долго работает.
Что-то с компом у меня странное. Вроде проц 4.2 гигагерца должен быстро обработать, игры же не тормозят, а тут такие затупы на двухмегабайтном файле. Уже несколько минут думает. Проц грузит на 25%.
49 NorthWind
 
04.10.17
22:58
(48) так игры и не на интерпретируемом скрипте написаны. Напиши на сях чтение блоками в память, обработку, запись блоками в файл - будет летать.
50 Брудвар
 
05.10.17
00:19
(49) Хочешь сказать что интерпретируемые языки в миллион раз медленнее?
51 Брудвар
 
05.10.17
00:22
(49) Я писал обработку изображений по 10 мегабайт, попиксельно, на жаваскрипте который выполняется в браузере, и то за секунду скрипт выполнялся.
А тут три строчки кода и два мегабайта в файле до сих пор тупит, уже несколько часов. Правда мелкие файлы на пару килобайт делаются быстро.
52 NorthWind
 
05.10.17
06:42
Уже много раз сказано - vbs плохо подходит для работы с двоичными данными. Когда пытаешься натянуть сову на глобус заместо использования подходящего инструмента - скорости ждать не стоит, надо радоваться что вообще работает :) А за то время, сколько висит эта ветка, можно было раза три переписать это на более подходящих языках...
53 igorPetrov
 
05.10.17
06:47
(51) "Я писал обработку изображений .... на жаваскрипте"
Звездишь и не чихаешь...
54 NorthWind
 
05.10.17
07:02
(53) почему? Это же штатная функция браузерного скрипта и оно вполне может работать быстро, если нет каких-то сильно долгих математических извращений над пикселами.
55 Брудвар
 
05.10.17
12:39
(52) Разобрался, мой косяк. Соединял длинные строки. Исправил, теперь работает хорошо.

(54) Чувак по себе судит. Не обращай внимания.