我正在写一个文件和stdout的流,但是我得到了这样的编码:
\ u05ea \ u05e7 \ u05dc \ u05d9 \ u05d8 \ u05e9 \ u05e1 \ u05d9 \ u05de \ u05dc \ u05e9 \ u05d9 \ u05e0 \ u05d5 \ u05d9 \ u05d1 \ u05e1 \ u05d2 \ u05e0 \ u05d5 \ u05df \ u05dc \ u05d3 \ u05e2 \ u05ea \ u05d9 \ u05d0 \ u05dd \ u05d0 \ u05e0 \ u05d9 \ u05d6 \ u05d5 \ u05db \ u05e8 \ u05e0 \ u05db \ u05d5 \ u05df
如何将其转换为可打印的字符串?
答案 0 :(得分:3)
我无法弄清楚你是如何打印字符串的,但那只是Unicode:
#include <QString>
#include <QFile>
#include <QDebug>
int main(int argc, char **argv)
{
QString s = "\u05ea\u05e7\u05dc\u05d9\u05d8 \u05e9\u05e1\u05d9\u05de\u05dc \u05e9\u05d9\u05e0\u05d5\u05d9 \u05d1\u05e1\u05d2\u05e0\u05d5\u05df \u05dc\u05d3\u05e2\u05ea\u05d9 \u05d0\u05dd \u05d0\u05e0\u05d9 \u05d6\u05d5\u05db\u05e8 \u05e0\u05db\u05d5\u05df";
QFile file1("1.txt");
if (!file1.open(QIODevice::WriteOnly | QIODevice::Text))
return 1;
QTextStream out(&file1);
out << s << "\n";
qDebug() << s;
return 0;
}
如果我编译并运行它
g++ -lQtCore -I /usr/include/QtCore test.cpp
./a.out
我可以在控制台调试输出和文件中看到可打印的字符:
"תקליט שסימל שינוי בסגנון לדעתי אם אני זוכר נכון"
所以你可能做错了什么或者看错了方向,你可以粘贴你的代码以便我们更好地帮助你吗?