char* 转换为 QString
char* c_str = "Hello, Qt!";
QString qstr = QString::fromUtf8(c_str); // 假设char*是UTF-8编码的
// 或者,如果char*是Latin1编码的:
QString qstrLatin1 = QString::fromLatin1(c_str);
QString 转换为 char*
QString qstr = "Hello, Qt!";
QByteArray ba = qstr.toUtf8(); // 转换为UTF-8编码的QByteArray
char* c_str = ba.data(); // 获取指向QByteArray内部数据的指针
// 注意:c_str 只在ba的生命周期内有效,并且不应该被修改或删除。
// 如果需要可修改的char*副本:
char* c_str_copy = qstrdup(qstr.toUtf8().constData());
// 使用完c_str_copy后,记得释放内存:
delete[] c_str_copy;
QString 转换为 QByteArray
QString qstr = "Hello, Qt!";
QByteArray ba = qstr.toUtf8(); // 转换为UTF-8编码的QByteArray
// 或者,如果你想要Latin1编码:
QByteArray baLatin1 = qstr.toLatin1();
QByteArray