微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Qt转换unicode实体

在QT 5.4和C ++中,我尝试解码具有unicode实体的string。

我有这个QString:

QString string = "fileu00d6u00c7u015eu0130u011eu00dcu0130u00e7u00f6u015fiu011fu00fcu0131.txt";

我想将此string转换为: fileÖÇŞİĞÜİçöşiğüı.txt

我试过QString的toUtf8和fromUtf8方法。 还试图逐字符解码。

如何在c程序中访问linux文件系统的读写速度?

这个C代码中导致分段错误的原因是什么?

使用Windows API和C ++,我怎样才能从硬盘加载一个EXE文件,并运行在自己的线程?

在AllocConsole之前做一个std :: endl不会显示std :: cout

窗口服务停止,但进程继续运行

有没有办法通过使用Qt转换它?

量化内存,cpu在Linux下使用C进程

如何用-lusb进行编译

从64位整数types加载__m64?

在linux下编译简单的C ++程序(第一次)

用特定的OpenSSL版本构buildOpenVPN

Qt提供了一个名为QStringLiteral的宏来正确处理字符串文字

这是一个完整的工作示例:

#include <QString> #include <QDebug> int main(void) { QString string = QStringLiteral("fileu00d6u00c7u015eu0130u011eu00dcu0130u00e7u00f6u015fiu011fu00fcu0131.txt"); qDebug() << string; return 0; }

正如在上面的评论中提到的,您需要打印到支持这些字符的控制台才能使用。

我刚刚测试了这个代码

int main(int argc,char *argv[]) { QApplication a(argc,argv); QString s = "fileu00d6u00c7u015eu0130u011eu00dcu0130u00e7u00f6u015fiu011fu00fcu0131.txt"; qDebug() << s.length(); //Outputs: 22 qDebug() << s; //Outputs: fileÖÇŞİĞÜİçöşiğüı.txt return a.exec(); }

这是与ubuntu上的Qt 5.4,所以它看起来像你的问题是只有一些操作系统。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐