161 / 45 / 10
Регистрация: 25.08.2014
Сообщений: 345
|
||||||||||||||||
1 | ||||||||||||||||
Перевести Int в unsigned char в формате hex05.10.2015, 12:07. Показов 5643. Ответов 8
Метки нет (Все метки)
Приветствую всех.
Что-то тупняки с утра дикие, помогите пожалуйста сообразить как правильно сделать: Есть у меня пакет с данными который должен уйти, но перед этим надо сформировать хвост, который делается в ручную в зависимости от того что выберет человек(5 значений). Последовательность чисел, что выбирает человек в 10м формате. Цифры от 0 до 25. Я их принимаю и надо записать в хвост пакета для отправки в 16м виде. т.е. есть начало DA 01 FF FF 55 17 Человек водит 9-13-21-0-5 Мне надо эту последовательность преобразовать и добавить к пакету. 9-D-15-0-5 Проблема с преобразованием
Числа которые имеют буквенное обозначение заносятся как 0 пробовал через Qstring.
Заранее спасибо за ответы.
0
|
05.10.2015, 12:07 | |
Ответы с готовыми решениями:
8
Ошибка конвертирования from 'quint32 (*)() {aka unsigned int (*)()}' to 'quint32 {aka unsigned int}' Char и const unsigned char QString перевести в char* || QChar перевести в char* qstring to unsigned char* |
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
|
||||||
05.10.2015, 13:03 | 2 | |||||
Что-то ты по-моему не то творишь.
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
||||||
05.10.2015, 13:10 | 3 | |||||
Sph,
0
|
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
|
|
05.10.2015, 13:52 | 4 |
Присмотрелся получше. Что-то я не понимаю, при чём тут 16ричный символьный вид, если идёт обычная отправка байтов? Или же ты отправляешь символы, но тогда почему массив char у тебя всего 11 размером?
Если же тебе надо просто байты отправить и пользователь вводит последние 5 байт в 10тичной системе, то зачем вся эта возня с 16ричной системой? Моя твоя не понимать! Добавлено через 11 минут Может быть ты и понял его единственно верно. Но тогда всё же база должна быть 10, раз у него пользователь вводит в десятичной системе А так точно можно делать? Может лучше сделать outArray.append((char)numInInt)?
0
|
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
|
||||||
05.10.2015, 15:48 | 5 | |||||
Тупняки действительно страшные. Это тебе надо?
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
05.10.2015, 21:02 | 6 |
0
|
161 / 45 / 10
Регистрация: 25.08.2014
Сообщений: 345
|
|||||||||||
06.10.2015, 09:37 [ТС] | 7 | ||||||||||
да тупняки жестокие.
Кароче, есть некая последовательность значений в 10м формате. А в пакет их нужно запихать как 16й значения, иначе девайсина не поймет посылку. т.е. если человек, выбрал значение "10" то должно уйти значение "А", тк распознает девайс все байты как 16значения, и в итоге "10" если отправим как есть то будет распознано как будто мы подали значение "16". Добавлено через 3 минуты Строка это как вариант был для преобразований, а дальше случился еще больше ступор. А как строку в чар то вернуть. Манипуляции выше в первом посте с результатами. schdub спасибо за вариант попробую alexu_007 не совсем. значения то в 10м формате,
Да, обычная отправка байтов. Массив char ну потому что удобно. 11 потому что пакет такой длины а преобразование из 10 в 16 потому что девайсина молчит и не понимает что ей послали. т.е. если ручками вбить например в хвост пакета А-B-C-D-E то все ок, а если ввести вручную 10-11-12-13-14 то тишина
0
|
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
|
|
06.10.2015, 10:48 | 8 |
Сообщение было отмечено Sph как решение
Решение
Не, я не немного не про то.
Есть два варианта передачи чисел - собственно raw-данными и текстом. 16-ричный, 2-ичный и прочие форматы - это просто удобночитаемые человеком _текстовые_ виды отображения на экране raw-данных. Если у вас человек вводит данные в десятичном _текстовом_ формате и вам их надо передать дальше в raw-формате, то нет никакой нужны использовать промежуточные 16ричные _текстовые_ значения. Просто используете вышеприведённое(я чуть его изменил):
1
|
161 / 45 / 10
Регистрация: 25.08.2014
Сообщений: 345
|
|
07.10.2015, 09:23 [ТС] | 9 |
Shtirliz72 Спасибо,кажется работает как надо
Подстроил под свой код, вроде ошибок пока нет, буду тестировать.
0
|
07.10.2015, 09:23 | |
07.10.2015, 09:23 | |
Помогаю со студенческими работами здесь
9
unsigned char через QSerialPort Из lineEdit в unsigned char и обратно QDatastream запись unsigned char* Перевод из Qstring в unsigned char Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |