У меня есть короткая программа, которая читает данные из последовательного порта и сохраняет их в QByteArray.Когда я использую qDebug (), чтобы показать содержимое массива, некоторые из шестнадцатеричных значений отображаются, как и ожидалось, например.0xB5 остается 0xB5, но другие изменяются на ASCII, например.0x62 становится b.
Вот код, который я использую для чтения данных и отображения их с помощью qDebug:
void MainWindow::readSerial()
{
QByteArray serialData = port->readAll();
qDebug() << "SerialData: " <<serialData;
}
Программа выводит следующее:
SerialData: "\ xB5" "b \ x0B \ x01" "0 \ x00: \ x16Q \ x1E
но я ожидаю, что он выведет что-то вроде этого:
SerialData: \ xB5 \ 62 \ x0B ......
Мои вопросы:
Автоматически ли конвертирует qDebugнекоторые шестнадцатеричные значения в ASCII
, если это так, есть способ помешать ему сделать это
Сохраняет ли QByteArray данные точно или можетпроблема в том, как я храню данные
Спасибо за вашу помощь. С уважением