【发布时间】:2015-06-11 16:42:58
【问题描述】:
在 QT 5.4 和 C++ 中,我尝试解码具有 unicode 实体的字符串。
我有这个 QString:
QString string = "file\u00d6\u00c7\u015e\u0130\u011e\u00dc\u0130\u00e7\u00f6\u015fi\u011f\u00fc\u0131.txt";
我想将此字符串转换为:fileÖÇŞİĞÜİçöşiğüı.txt
我尝试了QString 的toUtf8 和fromUtf8 方法。还尝试逐字符解码。
有没有办法使用Qt转换它?
【问题讨论】:
-
可能您的控制台未配置为打印 Unicode。如果您在 Windows 提示符下执行,试试这个stackoverflow.com/questions/2492077/…
-
谢谢。是的 windows 控制台也有 unicode 问题,但我需要在我的 cpp 代码中对其进行解码。
-
您的字符串文字包含 Unicode 转义,这些字符可能不适合 8 位。在所有 Qt 平台上,
char是 8 位。您可能需要一个宽泛的文字:L"file\u00d6\u00c7\u015e\u0130..." -
offtopic:对我来说,这个字符串看起来应该是应用程序配置设置,而不是硬编码。
标签: c++ windows qt visual-studio-2012 unicode