// Функция переводит обычную cтроку в шестнадцатеричное представление // Параметры: // ТекстСообщения - Строка - Текст сообщения // ТипКодировки - Число - Тип кодировки (1 - каждый символ представляется 2 байтами, 0 - 1 байтом) // Возвращаемое значение: Строка - Строка после перекодировки // Функция Str2Hex(ТекстСообщения, ТипКодировки) СтрокаЗнаков = ""; Если ТипКодировки = 1 Тогда ДлинаКодаСимвола = 4; Иначе ДлинаКодаСимвола = 2; КонецЕсли; Для К = 1 По СтрДлина(ТекстСообщения) Цикл СтрокаЗнаков = СтрокаЗнаков + Padl(DecToHex(КодСимвола(Сред(ТекстСообщения, К, 1))), ДлинаКодаСимвола, "0"); КонецЦикла; Возврат СтрокаЗнаков; КонецФункции // Str2Hex() // Функция переводит cтроку из шестнадцатеричного представления в обычную строку // Параметры: // СтрокаСимволов - Строка - Текст в шестнадцатеричном виде // ПризнакКода - Строка - Тип кодировки ("0" - каждый символ представляется 1 байтами, "1" - 2 байтами) // Возвращаемое значение: Строка - Строка после перекодировки // Функция StrHexToStr(СтрокаСимволов, ПризнакКода) Экспорт Если Число(ПризнакКода) = 0 Тогда КоличествоСимволов = 2; Иначе КоличествоСимволов = 4; КонецЕсли; к = 1; Результат = ""; Пока к < СтрДлина(СтрокаСимволов) Цикл Строка = Сред(СтрокаСимволов, к, КоличествоСимволов); Результат = Результат + Символ(HexToDec(Строка)); к = к + КоличествоСимволов; КонецЦикла; Возврат Результат; КонецФункции // StrHexToStr()
// Параметры: // Стр - Строка - Строка // Длина - Число - Длина строки // Чем - Строка - Символ для добавления // // Возвращаемое значение: // Строка - Строка, дополненная до указанной длины // Функция Padl(Знач Стр, Длина, Чем = " ") СимволовДополнить = Длина - СтрДлина(Стр); Добавок = ""; Для Н = 1 По СимволовДополнить Цикл Добавок = Добавок + Чем; КонецЦикла; Возврат Добавок + Стр; КонецФункции