Я решил проблему с этим кодом:
РЕДАКТИРОВАНИЕ В ЛУЧШУЮ ВЕРСИЮ: (Я просто не хочу преобразовывать латинские символы в Unicode, потому что это потребует дополнительного пространства без преимущества для моей проблемы (хочу напомнить, что я хочу генерировать Unicode RTF)). *
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QString str(QWidget::tr("Բարև (1-2+3/15,69_) Hello {} [2.63] Здравствуй"));
QString strNew;
QString isAcsii;
QString tmp;
foreach(QChar cr, str)
{
if(cr.toAscii() != QChar(0))
{
isAcsii = static_cast<QString>(cr.toAscii());
strNew+=isAcsii;
}
else
{
tmp.setNum(cr.unicode());
tmp.prepend("\\u");
strNew+=tmp;
}
}
QMessageBox::about(0,"Unicode escapes!",strNew);
return app.exec();
}
Спасибо @Daniel Earwicker за алгоритм и, конечно, +1.
Кстати, вам нужно указать UTF-8 для кодировки текстового редактора.