Имя: Пароль:
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) Чувак по себе судит. Не обращай внимания.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн