您可能不应该单独将八位字节转换为 a QString
。这将产生一些多余的转换。Q(Latin1)Char
如果您需要将一些字符串操作放在一起,您最好做的可能是将其转换为并使用它。
只靠自己做看起来不切实际。如果您仍然坚持这一点,请使用 QString 构造函数,如下所示:
主文件
#include <QString>
#include <QDebug>
int main()
{
unsigned char a = 'A';
QString string(a);
qDebug() << string;
return 0;
}
主程序
TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
构建并运行
qmake && make && ./main
输出
"A"
让我不要开始抱怨 QString 需要 QCoreApplication 实例才能正常工作,所以请让我们暂时忘记这一点。:-)
这将开箱即用,因为 QString 有一个采用 QChar 的构造函数,并且可以隐式使用,因为 QChar 有一个采用 unsigned char 的构造函数。
顺便说一句,如今八位字节几乎完全是每字节 8 位。我不会担心它的处理方式不同,否则许多软件可能会在下面崩溃。只需从您链接的代码中查看代码,好吗?
// DDS_Octet is defined to be 8 bits. If chars are not 8 bits
// on your system, this will not work.