Имя: Пароль:
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Строка
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший