|  | v7: Преобразование текста в HEX | ☑ | 
    
        | 0
    
        victuan1   18.05.16✎ 09:40 | 
        Поделитесь функцией для преобразования текста в шестнадцатеричные коды его символов на языке 1С 7.7
По сути нужен аналоги функции TextToHex, имеющейся в среде VisualBasic
 
 Вот пример этой функции в онлайне:
 |  | 
    
        | 1
    
        ДенисЧ   18.05.16✎ 09:41 | 
        Не стыдно? С таким-то хвостиком?     |  | 
    
        | 2
    
        Mikeware   18.05.16✎ 09:42 | 
        (1) это не хвост, сказал волк и покраснел...©     |  | 
    
        | 3
    
        ДенисЧ   18.05.16✎ 09:43 | 
        (2) Паш, ляг.
)))))
 |  | 
    
        | 4
    
        victuan1   18.05.16✎ 09:48 | 
        (1) ну я придумал такой вариант:
Функция Из_10_В_Любую(Знач Значение=0,Нотация=36) Экспорт
 Если Нотация<=0 Тогда Возврат("") КонецЕсли;
 Значение=Число(Значение);
 Если Значение<=0 Тогда Возврат("0") КонецЕсли;
 Значение=Цел(Значение);
 Результат="";
 Пока Значение>0 Цикл
 Результат=Сред("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Значение%Нотация+1,1)+Результат;
 Значение=Цел(Значение/Нотация) ;
 КонецЦикла;
 Возврат Результат;
 КонецФункции
 
 
 Процедура Сформировать()
 Сообщить(арг);
 стр = "";
 для й = 1 по СтрДлина(арг) Цикл
 стр = стр+Из_10_В_Любую(КодСимв(Сред(арг,й,1)),16)
 КонецЦикла;
 Сообщить(стр);
 КонецПроцедуры
 
 Но может есть более изящный способ?
 |  | 
    
        | 5
    
        victuan1   18.05.16✎ 09:58 | 
        После оптимизации получился такой результат:
 Функция TextToHex(Зн)
 Рез = "";
 для й = 1 по СтрДлина(Зн) Цикл
 Значение = КодСимв(Сред(зн,й,1));
 Результат="";
 Пока Значение>0 Цикл
 Результат=Сред("0123456789ABCDEF",Значение%16+1,1)+Результат;
 Значение=Цел(Значение/16) ;
 КонецЦикла;
 Рез = Рез+Результат
 КонецЦикла;
 Возврат Рез;
 КонецФункции
 
 Получается сам себе и ответил.
 Может что-то не учел? В строке не будет кириллицы.
 |  | 
    
        | 6
    
        Mikeware   18.05.16✎ 10:00 | 
        (5) да какя разница, будет кирилица или нет. каждый байт должер преобразоваться в 2 хекса.     |  | 
    
        | 7
    
        ДенисЧ   18.05.16✎ 10:04 | 
        (6) Про уникод мы по старости не помним? ))     |  |