Доброго времени. Коллеги, кто может поделится функцией преобразования строки в hex и обратно. нашел такое вот:
Но что за функция Padl не понятно. Нет её.
У кого есть рабочее решение? Заранее благодарен!
Функция Str2Hex(ТекстСообщения, ТипКодировки)
СтрокаЗнаков = "";
Если ТипКодировки = 1 Тогда
ДлинаКодаСимвола = 4;
Иначе
ДлинаКодаСимвола = 2;
КонецЕсли;
Для К = 1 По СтрДлина(ТекстСообщения) Цикл
СтрокаЗнаков = СтрокаЗнаков + Padl(DecToHex(КодСимвола(Сред(ТекстСообщения, К, 1))), ДлинаКодаСимвола, "0");
КонецЦикла;
Возврат СтрокаЗнаков;
КонецФункции // Str2Hex()
// Функция переводит cтроку из шестнадцатеричного представления в обычную строку
// Параметры:
// СтрокаСимволов - Строка - Текст в шестнадцатеричном виде
// ПризнакКода - Строка - Тип кодировки ("0" - каждый символ представляется 1 байтами, "1" - 2 байтами)
// Возвращаемое значение: Строка - Строка после перекодировки
//
Функция StrHexToStr(СтрокаСимволов, ПризнакКода) Экспорт
Если Число(ПризнакКода) = 0 Тогда
КоличествоСимволов = 2;
Иначе
КоличествоСимволов = 4;
КонецЕсли;
к = 1;
Результат = "";
Пока к < СтрДлина(СтрокаСимволов) Цикл
Строка = Сред(СтрокаСимволов, к, КоличествоСимволов);
Результат = Результат + Символ(HexToDec(Строка));
к = к + КоличествоСимволов;
КонецЦикла;
Возврат Результат;
КонецФункции // StrHexToStr()
ПоказатьНо что за функция Padl не понятно. Нет её.
У кого есть рабочее решение? Заранее благодарен!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) https://www.visualfoxpro.com/padl.html
И еще в каком-то древнем языке (кажется, Clipper?) была похожая PadLeft().
Короче, в данном случае ее нетрудно заменить на Прав():
https://helpf.pro/faq/view/940.html
Но что за функция Padl не понятно.
Это как раз понятно (для динозавров программирования): "дополнить слева", в Фокспро такая есть: И еще в каком-то древнем языке (кажется, Clipper?) была похожая PadLeft().
Короче, в данном случае ее нетрудно заменить на Прав():
СтрокаЗнаков = СтрокаЗнаков + Прав("0000"+DecToHex(КодСимвола(Сред(ТекстСообщения, К, 1))), ДлинаКодаСимвола);
Нет её.
А DecToHex у вас есть? Если тоже нету, то смотрите сюда:
(3)
http://howknow1c.ru/jazyk-1s/1s-pow.html
Но, не взлетело
М-да. "Рожденный ползать - летает редко" (с)
какие то функции Степень. И тоже их нет. не понятно чем заменить.
Гуглем, батенька, Гуглем заменяем буквально всё: функция Pow(),
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот