#include #include #include int main(int argc, char *argv[]) { QApplication application(argc, argv); auto show = [](const QTextCodec * codec) { char16_t shorts[] = u"Ελλάδα 中国 ایران 🍔"; QString sample = QString::fromUtf16(shorts); QString message = QStringLiteral("Encoding: ") + QString::fromLatin1(codec->name()) + QLatin1String("\nAlso known as: ") + QString::fromLatin1(codec->aliases().join(" ,")) + QLatin1String("\n\nSample text: ") + sample + QLatin1String("\nSample length: ") + QString::number(std::size(sample)) + QLatin1String("\n\nCan it encode the sample? ") + (codec->canEncode(sample) ? QStringLiteral("Yes") : QStringLiteral("No")) + QLatin1String("\nRound trip result: ") + codec->toUnicode(codec->fromUnicode(sample)); QMessageBox::information(nullptr, "Test", message); }; show(QTextCodec::codecForLocale()); show(QTextCodec::codecForName("windows-1252")); show(QTextCodec::codecForName("utf-8")); return 0; }