#0
by Doomer
Функция возвращает мне 2 байта. Эти байты 1С воспринимает как строку. Туплю как перевести эту строку в 10-ную систему. Получается, я должен каждого число перевести в HEX, потом страший разряд умножить на 16 и прибавить к нему младший разряд. А потом полученне HEX число перевести в Dec. Все правильно? Или можно как-то проще?
#1
by Rie
Что именно тебе возвращает функция? (пример) Как это воспринимает 1С? (тот же пример) А то сильно непонятно - какие HEX в какую десятичную систему переводить надо.
#2
by Doomer
А что показывать? Работаю с сокетом. Подключаюсь к ресурсу, он мне присылает пакет с приглашением. Мне его нужно разобрать.
#4
by petrowsky
>> Функция возвращает мне 2 байта. Эти байты 1С воспринимает как строку 1) напиши пример этой строки 2) напиши что хочешь получить из нее а то, действительно, ничего не понятно
#6
by Doomer
Ну вообще мне функция возвращает 6 байт. Мне нужно разобрать эти байты. 1 байт - начало пакета 1 байт -номер канала 2 байта - порядковый номер пакета 2 байта длина пакета с данными Дальше идут сами данные. Получаю строку вот такого вида: "*ё‰ "
#8
by echo77
На хер в шестнадцатеричную? Для каждого символ получайте код символа - и будет вам счастье
#9
by Doomer
Как мне получить порядковый номер и длину пакета? Начало пакета я получаю: Номер канала: КодСимвола(Ответ,2) порядковый номер: Я получаю два числа: КодСимвола(Ответ,3) КодСимвола(Ответ,4) А дальше что с ними делать?
#10
by Rie
Для начала - символы 1-байтовые или 2-байтовые? (Опять же, смотря как выглядят числа на "той стороне" - BigEndian или LittleEndian)
#12
by PLUT
Куркулятор виндовс вид Инженерный там потренируйся с переводом из одной сись темы в другую
#15
by Rie
Ему не нужно переводить из одной системы в другую. Ему готовые байты идут, которые нужно просто скомпоновать.
#18
by Rie
+ Впрочем, не совсем ясно - может быть, даже 65536-ричные (если строка приходит юникодная).
#20
by Rie
Забуть про Hex и Dec. Ты получаешь байты (судя по ); может быть даже 2-байтовые символы. Предположим, что байты. Байт - это целое число от 0 до 255. В строке выглядит как символ - чтобы перейти от символа к коду, используй КодСимвола - получишь соответствующее число безо всяких преобразований. Можешь рассматривать эти символы (байты) как цифры 256-ричной системе счисления, где каждый символ-"цифра" обозначает число КодСимвола(символ). Остаются две неясности: 1) BigEndian или LittleEndian (если номер чего-то - 2-байтовый, то какой байт идёт первым: старший или младший); 2) строка у тебя состоит из ASCII-символов (1-байтовых) или Unicode (2-байтовых).
#22
by Rie
А второй байт? В - сколько байтов нарисовано? Меня смущает символ "промилле" - в ASCII его нет.
#23
by Doomer
А я сейчас снифером проверю. Посмотрим что приходит в HEX в снифере и во что преобразует это 1С.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- v7: прямые запросы с помощью 1с++
- Как посмотреть что делает DBCC CHECKDB на скуле
- HASP
- Помогите с регистрацией "MSWinsock".
- v7: не работает Запрос.Документ = Метаданные.Документы.Реализация
- Помогите с подготовкой к спецу по ут 11. Есть ли у кого решения?
- Остаток от деления отрицательного целого на натуральное.
- Как вывести в надпись количество выделенных строк динамического списка в УФ
- Управляемое приложение - НаборЗаписей на форме превращается в ДанныеФормыСтрукту
- Групповая обработка справочников и документов.
- УТ10.3 Программный Ввод на основании ПоступлениеТУ, документа Установка цен
- весы Mettler toledo tiger не печатают этикетку.
- v7: Многострочная часть в общем журнале
- Регистры накоплений УТ 10.3
- УФ: как определить программно, какая кнопка нажата
- v7: НайтиПоКоду в справочнике с несквозной нумерацией
- Выбрать записи регистра по регистратору
- Как изменить видимость реквизита формы справочника?
- v7: ТиС. Не восстанавливается последовательность проведения документов.
- v8.2: Как заполнить табличную часть документа результатом выполнения запроса