如何将unicode转换为QT流中的可打印字符串

发布于 2024-08-31 04:45:28 字数 354 浏览 6 评论 0原文

我正在将流写入文件和标准输出,但我得到了如下所示的某种编码:

\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

如何将其转换为可打印字符串?

I'm writing a stream to a file and stdout, but I'm getting some kind of encoding like this:

\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

How can I convert this to a printable string?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贵在坚持 2024-09-07 04:45:29

我不知道你是如何打印字符串的,但这只是 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 

我可以在控制台调试输出和文件中看到可打印字符:

"תקליט שסימל שינוי בסגנון לדעתי אם אני זוכר נכון" 

所以你可能做错了什么或者看错方向了,您可以粘贴您的代码以便我们更好地帮助您吗?

I can't figure out how you are printing the string, but that is just 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;
}

If I compile and run it

g++ -lQtCore -I /usr/include/QtCore test.cpp 
./a.out 

I can see the printable characters both in the console debug output and in the file:

"תקליט שסימל שינוי בסגנון לדעתי אם אני זוכר נכון" 

So you are probably doing something wrong or looking in the wrong direction, can you paste your code so we can help you better?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文