qDebug()<<QByteArray输出中的"*"和")"是什么意思?



代码:

QByteArray receive=serialport.readAll();
qDebug()<<"receive="<<receive;

qDebug输出:

receive= "x02x03*x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x9D)"

*)是什么意思?

来自文档:

将字节数组t写入流,并返回对流的引用。通常,QDebug将数组打印在引号内,并将控制字符或非US ASCII字符转换为其C转义序列(xAB)。这样,输出总是7位干净的,如果需要,可以从输出中复制字符串并粘贴回C++源中。

要打印不可打印的字符而不进行转换,请启用noquote()功能。请注意,某些QDebug后端可能不是8位干净的。

QDebug类-QDebug &QDebug::operator<<(const QByteArray &t)

因此可打印的ASCII字符将打印为字符,其他字节值将转义

'*'x2a')'x29

我猜qDebug()<<QByteArray在可打印的情况下将字节打印为ASCII符号,如果不可打印,则打印其值。

相关内容

  • 没有找到相关文章

最新更新