【发布时间】:2019-09-23 10:46:10
【问题描述】:
我有一个从串口读取数据并将其存储在 QByteArray 中的短程序。当我使用 qDebug() 显示数组的内容时,一些十六进制值会按预期显示,例如。 0xB5 保持 0xB5,但其他的都更改为 ASCII,例如。 0x62 变成 b。
这是我用来读取数据并使用 qDebug 显示它的代码:
void MainWindow::readSerial()
{
QByteArray serialData = port->readAll();
qDebug() << "SerialData: " <<serialData;
}
程序输出以下内容:
串行数据:"\xB5""b\x0B\x01""0\x00:\x16Q\x1E
但我希望它输出如下内容:
串行数据:\xB5\62\x0B......
我的问题是:
qDebug 是否自动将一些十六进制值转换为 ASCII
如果是这样,有没有办法阻止它这样做
QByteArray 存储数据是否准确或可能问题出在 我存储数据的方式
感谢您的帮助。 问候
【问题讨论】: