![]() |
![]() |
|
Конвертор | ☑ | ||
---|---|---|---|---|
0
Roman4eg
03.09.13
✎
14:42
|
Помогите превратить левую часть в правую (hex to binary).
Скриншот ниже... |
|||
1
Alex S D
03.09.13
✎
14:45
|
(0) на сколько ниже ?
|
|||
2
Roman4eg
03.09.13
✎
14:45
|
||||
3
Alex S D
03.09.13
✎
14:46
|
вот хакер...
|
|||
4
skunk
03.09.13
✎
14:46
|
ничего не понял ... тебе b2 нужно сделать?
|
|||
5
Wobland
03.09.13
✎
14:46
|
||||
6
palpetrovich
03.09.13
✎
14:46
|
тебе что "hex to binary" надо сделать? именно на в8?
|
|||
7
Roman4eg
03.09.13
✎
14:47
|
Да есть строка с hex значением, а мне нужно это значение в чистый бинарик превратить и сформировать из него файло.
|
|||
8
Roman4eg
03.09.13
✎
14:48
|
именно в 8.2
|
|||
9
palpetrovich
03.09.13
✎
14:51
|
дык, яндекс знает как, а ты - знаешь как это перевести на язык 1с ...или должен знать ;)
|
|||
10
le_
03.09.13
✎
14:54
|
(0) Если бы там была не строка, а ДвоичныеДанные, то просто Записать(). Строку, как двоичные данные из 1С-ки не записать.
|
|||
11
skunk
03.09.13
✎
15:01
|
а там точно строка?
|
|||
12
Roman4eg
03.09.13
✎
15:02
|
Да :)
|
|||
13
Wobland
03.09.13
✎
15:05
|
автор знает, как работает шестнадцатеричный редактор. я в это твёрдо верю
|
|||
14
palpetrovich
03.09.13
✎
15:09
|
(10) а че, одинэснику слабО по строке посимвольно пройтись? :)
|
|||
15
Roman4eg
03.09.13
✎
15:11
|
Может у кого есть более крутой способ, так как представляете строку 20мб файла? а если таких строк 100?
|
|||
16
palpetrovich
03.09.13
✎
15:13
|
(15) если тебе необязательно в 1с, то пробуй так:
|
|||
17
palpetrovich
03.09.13
✎
15:13
|
Последовательность действий в WinHEX такова:
1. открываем файл 2. выделяем его полностью 3. жмём Edit - Convert 4. в открывшемся окошке выбираем Intel HEX -> binary (или HEX ASCII -> binary, в зависимости от формата), жмём ОК 5. на вопрос "округлить размер файла?" отвечаем отказом 6. сохраняем полученный файл где надо под нужным именем цы(не моё) |
|||
18
Roman4eg
03.09.13
✎
15:16
|
Только в 1С
|
|||
19
Бертыш
03.09.13
✎
15:22
|
В восьмерке не сталкивался, а в 7.7 юзали для таких задач внешние компоненты. Хотя навскидку опять же в восьмерке это сделать элементарно и без внешних компонент. Правда геморно очень.
|
|||
20
Бертыш
03.09.13
✎
15:23
|
(18) Вирус пишешь?
|
|||
21
Roman4eg
03.09.13
✎
15:23
|
Нет))
|
|||
22
Бертыш
03.09.13
✎
15:26
|
(21) :))))
|
|||
23
Бертыш
03.09.13
✎
15:28
|
Тебя спасет 256 двоичных макетов в обработке
|
|||
24
Бертыш
03.09.13
✎
15:30
|
Каждый размером один байт. Ну и клей из них чего тебе надобно на здоровье
|
|||
25
palpetrovich
03.09.13
✎
16:21
|
о, нарисовал на коленке, на оптимальность не претендую :)
ТЗ16 = Новый ТаблицаЗначений; ТЗ16.Колонки.Добавить("ХЕКС"); ТЗ16.Колонки.Добавить("БИН"); НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "0"; НовСтрока.БИН = "0000"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "1"; НовСтрока.БИН = "0001"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "2"; НовСтрока.БИН = "0100"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "3"; НовСтрока.БИН = "0011"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "4"; НовСтрока.БИН = "0100"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "5"; НовСтрока.БИН = "1001"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "6"; НовСтрока.БИН = "0110"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "7"; НовСтрока.БИН = "0111"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "8"; НовСтрока.БИН = "1000"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "9"; НовСтрока.БИН = "1001"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "A"; НовСтрока.БИН = "1010"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "B"; НовСтрока.БИН = "1011"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "C"; НовСтрока.БИН = "1100"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "D"; НовСтрока.БИН = "1101"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "E"; НовСтрока.БИН = "1110"; НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "F"; НовСтрока.БИН = "1111"; Если НЕ ЗначениеЗаполнено(Число16) Тогда Возврат; КонецЕсли; Число16 = ВРЕГ(Число16); РезультатБИН = ""; Для Инд = 1 По СтрДлина(Число16) Цикл ТекСимвол = Сред(Число16, Инд, 1); ТекБИН = ТЗ16.Найти(ТекСимвол, "ХЕКС"); Если ТекБИН = Неопределено Тогда Сообщить("Фигня твой хекс"); Возврат; КонецЕсли; РезультатБИН = РезультатБИН + ТекБИН.БИН; КонецЦикла; Сообщить(РезультатБИН); |
|||
26
palpetrovich
03.09.13
✎
16:24
|
+25 упс, заменить для двойки на:
НовСтрока = ТЗ16.Добавить(); НовСтрока.ХЕКС = "2"; НовСтрока.БИН = "0010"; |
|||
27
le_
03.09.13
✎
16:29
|
(14)(25) И как будешь писать в бинарный файл?
|
|||
28
palpetrovich
03.09.13
✎
16:32
|
(27) мне не надо, из хекс в бин перевел - и норм :)
|
|||
29
le_
03.09.13
✎
16:39
|
(28) А ТС надо. См. (7)
|
|||
30
palpetrovich
03.09.13
✎
16:44
|
(29) ну тогда ему вообще БИН не нужен, надо просто в WinHex-e создановый пустой файл, скопировать туда "строку со значением hex" и сохраниться :)
|
|||
31
palpetrovich
03.09.13
✎
16:44
|
* создановый = создать новый
|
|||
32
Roman4eg
03.09.13
✎
16:50
|
1200 файлов ~ 5Гб, сколько потребуется времени для сохраниения файлов WinHex`ом?))))))) Да и в задаче прописано что именно средствами 1С.
|
|||
33
palpetrovich
03.09.13
✎
16:52
|
(32) в какой такой задаче? ...сохраняй (25) в текстовый файл, называй его *.bin :)
...и это, 1С что, уже компилятор? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |