c++ - QT - 如何将文件名编码设置为西里尔文

标签 c++ qt file encoding

创建名为“абцде”的文件时 文件名是用象形文字写的

const QByteArray data = "someData"; // some Data
QString fileName = "абцде.txt"; // fileName
QFile localFile(fileName.toUtf8());
localFile.open(QIODevice::WriteOnly);
localFile.write(data);
localFile.close();

最佳答案

这些代码行形成了 qt man on i nternationalization 可以帮助。 (QString 最初使用 Unicode)。

QTextCodec *codec = QTextCodec::codecForName( "Windows-1251" );
QByteArray encodedString = codec->fromUnicode( "абцде.txt" );

您可能需要尝试使用编码 ("Windows-1251"),这是一种蛮力方法。

关于c++ - QT - 如何将文件名编码设置为西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444572/

相关文章:

C、文件、路径等

C# DLL 从 C++ 应用程序调用 SOAP Web 服务

C++ 空容器迭代器行为

c++ - 无锁读写器

qt - 如何从 .ui 文件中读取 qt5 中的小部件?

Java/JavaFX,从项目内部读取文件和jar文件

C++ 从文件中读/写 N 个字节(甚至是 '00' 字节)

C++ String.h Char Tables 没有 strstr 的截断词

树莓派 : Cannot find GLESv2 的 qt 交叉编译

c++ - QGraphicsPixmapItem的Qt更新像素图