【问题标题】:Convert QString to QByteArray with forced locale使用强制语言环境将 QString 转换为 QByteArray
【发布时间】:2015-02-15 13:17:37
【问题描述】:

我需要使用没有 toLocal8bit() 函数的 cp1251 语言环境将 QString 转换为 QByteArray。

即在我当前的 PC 上,默认语言环境是 cp1251 -> QString::toLocal8bit() 工作得很好,但是一旦我将语言环境切换到不同的地方 -> 我不能使用 toLocal8Bit()。我已经阅读了有关 QTextCodec 之类的文档,但对我来说似乎很模糊。

所以,问题是 - 如何使用指定的语言环境从 QString 转换为 QByteArray?

非常欢迎任何帮助和解释。

【问题讨论】:

    标签: c++ qt qstring


    【解决方案1】:

    正如您自己发现的那样,您需要QTextCodec。你想做的事情应该这么简单:

    QString src = "My test string";
    QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
    QByteArray encodedString = codec->fromUnicode(src);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-02
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 2016-07-05
      • 2018-12-30
      • 2011-07-14
      相关资源
      最近更新 更多