Мне нужно передавать данные в HEX на удаленное устройство. Если я пишу:
QByteArray tmp = QByteArray::number(0);
qDebug() << tmp.toHex(); //Результат 30
QByteArray tmp2 = QByteArray::fromHex("5");
qDebug() << tmp2.toHex(); //Результат 05 - Как нужно.
//Так же пробовал пример из Qt
int n = 63;
QByteArray::number(n); // returns "63"
QByteArray::number(n, 16); // returns "3f"
QByteArray::number(n, 16).toUpper(); // returns "3F"
Я просто что-то не понимаю в его работе. Задача простая, посылать по TCP HEX значения. Откуда берется в начале 3 и как от неё избавиться.
QByteArray::number(int n, int base = 10)
Возвращает массив байтов, содержащий !СТРОКУ!, эквивалентную номеру n базовой базе (по умолчанию 10). Базой может быть любое значение от 2 до 36.
Соответственно QByteArray tmp = QByteArray::number(0);
вернет строку, содержащую ноль, символ "0" имеет код 48(0x30)
Вот это QByteArray tmp2 = QByteArray::fromHex("5");
в свою очередь вернет массив, содержащий декодированное значение из hex-строки. Поскольку у вас указано "5", то оно декодируется как один байт 5(0х05)
QByteArray::number(63);
- вернет СТРОКУ "63", или два байта 0х36 0х33
QByteArray::number(63, 16);
- вернет СТРОКУ "3f", или два байта 0х33 0х66
Если вам надо просто добавлять байты в сетевую посылку, то используйте обычный append(unsigned char)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Пользователь вводит имя фигуры и нужно создать класс этой фигурыТо есть какой класс создавать определяется в runtime
Проблема заключается в том , что я пишу функцию для ввода пароля и логина , и мне надо скрыть символы пароля , те
Скорее всего, все наслышаны про различные алгоритмы сортировокТакже, в C++ есть встроенная библиотека <algorithm>, в которой есть функция sort