Имя: Пароль:
1C
 
Двоичные данные из строки типа "BB FE 5E..."
0 SeiOkami
 
08.04.16
08:43
Здравия

Как получить двоичные данные на основе строки? По типу такой:
"BB FE 5E F3 FC E0 55 7F 11 E2 15 02 A3 C7 70 82".

Base64 такое не хавает.
1 mehfk
 
08.04.16
08:45
А где ты взял эту строку?
2 Asmody
 
08.04.16
08:45
(0) Подожди 8.3.9.
3 Asmody
 
08.04.16
08:45
4 SeiOkami
 
08.04.16
08:49
(2), а может есть самописные функции? Которые бы мою строку обратила в Base64 ?
5 Mikeware
 
08.04.16
08:49
(4) будет, если напишешь...
6 mehfk
 
08.04.16
08:58
(4) Ответь на (1)
7 SeiOkami
 
08.04.16
08:59
(6), представление двоичных данных такое
8 SeiOkami
 
08.04.16
08:59
Очень странно выходит. Платформа даёт представление двоичным данным в виде как в (0). А вот получить двоичные данные из такого представления не может.
9 mehfk
 
08.04.16
09:03
(8) Представление <> Данные. Платформа не может получить из представления "Документ Реализация товаров и услуг Т0000000743 от 18.03.2016 8:00:13" сам документ :)
10 SeiOkami
 
08.04.16
09:09
(9), это, конечно, да, но, вроде как, с моим примером все намного проще должно быть. Мало того, что строка содержит в себе всю информацию, так ещё и выдана самой платформой.
11 ДенисЧ
 
08.04.16
09:10
(10) Платформа тебе этого не давала. Это ты сам его в строку выгрузил.
12 SeiOkami
 
08.04.16
09:19
(11), нет, это даёт платформа.
Строка(ДвоичныеДанные)
13 ДенисЧ
 
08.04.16
09:20
(12) "Строка()"
"Это ты сам его в строку выгрузил."

И? пытаешься мне ещё что-то доказать?
14 mehfk
 
08.04.16
09:21
15 mehfk
 
08.04.16
09:22
(12) Хочешь провернуть фарш назад - используй XMLСтрока :)
16 SeiOkami
 
08.04.16
09:24
(13), это представление, которое даёт платформа. Что я не так сказал?
17 ДенисЧ
 
08.04.16
09:24
(16) А кто тебе сказал, что из представления всегда можно восстановить объект?
Я дам тебе фотографию моей покойной бабушки - сможешь оживить?
18 mehfk
 
08.04.16
09:25
(16) Восстановишь из представления в (9) документ?
19 SeiOkami
 
08.04.16
09:26
(17), (18), я уже на это отвечал. Сравнения не уместны. Моя строка содержит в себе всю необходимую информацию.
20 ДенисЧ
 
08.04.16
09:26
(19) Тогда восстанавливай.
21 mehfk
 
08.04.16
09:27
Ну раз ты считаешь что содержит - значит восстанавливай.
22 SeiOkami
 
08.04.16
09:29
(21), а что она не содержит в себе?
23 Ёпрст
 
гуру
08.04.16
09:29
весна слишком рано приходит в некоторые регионы
24 mehfk
 
08.04.16
09:30
(22) А строка из (9), что, не содержит?
25 SeiOkami
 
08.04.16
09:31
(24), самого главного. УИД
26 Serginio1
 
08.04.16
09:39
Попробуй через десериализацию v8: SHA256 для 8.3.3
27 sikuda
 
08.04.16
09:39
По умолчанию 1С записывает бинарные данные в кодировке UTF-8. Первыми символами в такой последовательности будет последовательность 0xEF,0xBB,0xBF.
Если некоторые старые программы не могут прочитать этой последовательности. И эту последовательность надо убирать.
http://sikuda.ru/archives/452
28 Рэйв
 
08.04.16
09:39
(0)Вместо того чтобы непонятно зачем двоичные данные в строку конвертить сохранил бы их в файл. А из файла уже поднять - дело техники.
Или в хранилище значений
29 SeiOkami
 
08.04.16
09:41
(28), нужно иметь возможность в режиме предприятия вставить в строковое поле представление из (0), а потом программно из него получить двоичные данные
30 Рэйв
 
08.04.16
09:44
(29)И много тебе информации даст строка вида "BB FE 5E..." ?
зачем это кудато вставлять?

Сохраняй в хранилище значений двоичные данные и при надобности поднимай оттуда
31 Рэйв
 
08.04.16
09:44
хотя накой тебе именно двоичные данные я теряюсь в догадках
32 Serginio1
 
08.04.16
09:44
(27) Сериализуй через Base64 или ХранилищеЗначения и десериализуй

v8: Преобразование ComОбъекта, содержащего ХранилищеЗначения в двоичные данные
33 SeiOkami
 
08.04.16
09:47
(32), да, если не найду способов получить из строки в (0) двоичные данные, придется использовать Base64...
34 Serginio1
 
08.04.16
09:48
Используй XmlСтрока и XMLЗначение
35 mehfk
 
08.04.16
09:51
(26) Работает.
36 SeiOkami
 
08.04.16
10:07
(26), (35),
Подскажите, как это использовать для (0).
То что написано в последних примерах в теме возвращает другие двоичные данные, а не те, что я передал
37 SeiOkami
 
08.04.16
10:08
аа, походу понял
38 Serginio1
 
08.04.16
10:09
(36)

ТвояСтрока="BB FE 5E F3 FC E0 55 7F 11 E2 15 02 A3 C7 70 82";
ТипhexBinary    = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema";;, "hexBinary");

    ДвоичныеДанные      = ФабрикаXDTO.Создать(ТипhexBinary,ТвояСтрока);
39 SeiOkami
 
08.04.16
10:12
(38), да, работает.
Спасибо!
40 SeiOkami
 
08.04.16
10:13
Только строку нужно передавать без пробелов:
"BBFE5EF3FCE0557F11E21502A3C77082"
41 mehfk
 
08.04.16
10:52
(39) Зря. Проверь на двоичных данных большего размера - будет сюрприз.
42 SeiOkami
 
08.04.16
11:02
(41), у меня всегда размер не больше этого.
А что за сюрприз?
43 H A D G E H O G s
 
08.04.16
11:07
(42) строку отрежут тебе.
44 H A D G E H O G s
 
08.04.16
11:08
храни в реквизитам base64строку(Твоидвоичныеданные) и будет тебе щастье
45 SeiOkami
 
08.04.16
11:10
(44), суть именно в том, чтобы вывести на форму поле ввода  с16ричной маской. Уже сделал. Вроде пашет.
46 Serginio1
 
08.04.16
11:12
(44) Универсально лучше хранить в ХранилищеЗначения и  использовать XmlСтрока и XMLЗначение (32)
47 Serginio1
 
08.04.16
11:13
ХранилищеЗначения может хорошо сжимать текстовые данные
48 mehfk
 
08.04.16
11:14
(46) Я ТС-у это предлагал еще в (15).
49 SeiOkami
 
08.04.16
11:14
(46), дело не в хранении данных, а в возможности их ввода в режиме предприятия. Хранить-то можно в ХЗ
50 mehfk
 
08.04.16
11:16
(49) Рассказывай, для чего это нужно.
51 SeiOkami
 
08.04.16
11:17
(50), а это уже совсем другая история...
52 mehfk
 
08.04.16
11:18
(51) Это та же история.
53 Serginio1
 
08.04.16
12:12
(48) Согласен. Обычно Строка это представление (синоним) данных
Получить значение перечисления при COM соединении
Поэтому предпочтительнее вместо Строка использовать XmlСтрока
Программист всегда исправляет последнюю ошибку.