ГУИД в массив байт, а затем сконвертировать в base64 строку #811587


#0 by fantomrik
Коллеги привет! Делаю задачку по интеграции 1С и некого сайта. Мне нужно посылать определенные запросы, в теле которого определенным значением должен выступать GUID. Я попробовал передавать стандартный Новый УникальныйИдетификатор, но сайту он не подходит. Программист со стороны сайта попросил следующее и привел пример, как надо сделать: - ГУИДЫ должны быть преобразованы в массив байт а затем сконвертированы в base64 строку. Собственно не понимаю как в 1С мне это сделать?
#1 by fantomrik
И вобще такое возможно чисто в 1С сделать или надо просить писать для данной задачи DLL-ку ребят с другого отдела?
#2 by xaozai
#3 by Юрий Лазаренко
А что может быть не так с ГУИДом? В ГУИДе используются только латинские символы, с ними при передаче на сайт ничего произойти не может, это же не кириллица.
#4 by v77
ну возьми ГУИД как строку, ГУИД состоит из 16-ричных циферок, забей эти циферки в массив, массив закодируй в base64 приступай!
#5 by fantomrik
спасибо, из статьи получается, если 1) Если из гуида убрать символы "-", то это и есть двоичные данные закодированные в base64: 2) в статье описана функция, как получить из строки массив байтов, но в 1С нет же функции  как из этого массива собрать base64 строку, что хочет от меня программист сайта. Не знаю, уточню у него. Как массив закодировать в base64? В base64 можно же только двоичные данные закодировать вроде в 1С
#6 by v77
в 1с есть ДвоичныеДанные и ПотокВПамяти
#7 by v77
ну ты попробуй такой же ГУИД как в примере из закодируй как в . если прокатит, то вопрос решен
#8 by fantomrik
закодировать через ПотокВПамяти?
#9 by dezss
Проси у него пример строки и результат. Потом пробуй строку записать в файл, из него в ДвоичныеДанные, а их уже в base64.
#10 by dezss
+ Если не будет сходиться (только проверь на всех возможных кодировках файла), то преобразуй уже в массив байт (хотя я в этом никакого смысла не вижу, так как двоичные данные им по сути и являются).
#11 by v77
ну как ты делал Base64Строка(Base64Значение("4e090376071043d29609c398fa23caa9")) = "4e090376071043d29609c398fa23caa9"
#12 by fantomrik
Решил задачу благодаря Скачал , зарегал и делаю так:
#13 by dezss
блин...один я не пойму, почему результат меньше исходного текста? или ГУИД все же не совсем текст и в виде массива байт он короче своего строкового представления?
#14 by Вафель
гуид - это 16байт
#15 by dezss
блин, точна...спасибо... 1с развращает в этом плане, забываешь азы)))
#16 by H A D G E H O G s
#17 by H A D G E H O G s
Добро пожаловать в новый светлый мир, Нео
#18 by Вафель
у тебя в итоге получается CO0EgqciQYK0EOd/Osw05g==, а не как в
#19 by Вафель
основной затык здесь получить гуид в виде byteArray
#20 by dezss
нужно еще порядок байт тогда поставить по феншую))))
#21 by H A D G E H O G s
Это ваш C# чудит
#22 by H A D G E H O G s
#23 by Serginio1
Угу, может 1С не так конвертирует байты? Вспомно про
#24 by H A D G E H O G s
Ваша C# балована.
#25 by Вафель
с гуидами вообще 1с как-то неохотно дружит
#26 by Serginio1
Добавлю ссылочку на 12
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С