v7: Преобразовать строку в HEX Строку в 1С 7.7 #771549


#0 by Diman_Kr
Кто знает как это сделать?
#1 by Pistol
В неведомую е... что?
#2 by Serginio1
Для 7 ки удобно использовать
#3 by 4St
Это Base64.
#4 by Serginio1
Hex это 16 ричная система исчисления а Base64 64 ричная
#5 by 4St
точно, я перепутал. Спасибо.
#6 by 1Сергей
там функция строк в 10 максимум
#7 by 1Сергей
хотя нет, не понял задачу. Число в HEX-строку легко. HEX-строку в число легко. А строку в HEX... ХЗ. Это каждый символ представить как байт и преобразовать в HEX чтоли?
#8 by ДенисЧ
Байт? А если уте utf (7,8), unicode, другая мультибайтовая?
#9 by 1Сергей
там же не текст, там строка. Хотя, хз что там аутор имел в виду...
#10 by 1Сергей
#11 by 1Сергей
ну и обратная функция
#12 by Mikeware
клюшки жеж. Откедова утф? зачем так сложно?
#13 by Garykom
Ну не читал ?
#14 by Garykom
+ поэтому "так сложно"
#15 by Mikeware
Вать машу... Что, ascii забыли совсем все? Результат=1 Для и=1 по стрдлина(вхстрока) цикель Результат+=симв(кодсимв("0")+цел(кодсимв(сред(вхстрока,и,1))/16))+симв(кодсимв("0")+цел(кодсимв(сред(вхстрока,и,1))%16)) КонецЦикла 7 строк с учетом оборачивания и возврата...
#16 by Garykom
ыыы, убил не я конечно не спорю что так можно, но это изврат
#17 by Mr_Rm
Не будет работать, когда кодсимв(сред(вхстрока,и,1))/16) >9 или кодсимв(сред(вхстрока,и,1))%16 >9, поскольку в ASCII разрыв между "9" и "A". Зачем вычислять кодсимв("0")? Просто 48. Зачем вызывать цел для кодсимв? Если нужен однострочник, то вот: Результат+=сред("0123456789ABCDEF",кодсимв(сред(вхстрока,и,1))/16),1) + сред("0123456789ABCDEF",кодсимв(сред(вхстрока,и,1))%16),1) );
#18 by Diman_Kr
Ребята, всем спасибо за участие, буду пробовать. Буквы теряются. Garykom, спасибо за
#19 by 1Сергей
Чего там сложного? Едва ли моя функция сложнее ...
#20 by 1Сергей
сам-то пробовал? не работает
#21 by Diman_Kr
Все получилось, использовал Всем спасибо за помощь.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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