我需要使用cp1251语言环境将QString转换为QByteArray而不使用toLocal8bit()函数。
即。在我当前的PC默认语言环境是cp1251 - > QString :: toLocal8bit()工作得很好,但是一旦我将语言环境切换到不同的地方 - >我不能使用toLocal8Bit()。我已经阅读了有关QTextCodec和其他内容的文档,但对我来说这似乎很模糊。
所以,问题是 - 如何使用指定的语言环境从QString转换为QByteArray?
非常欢迎任何帮助和解释。
答案 0 :(得分:3)
当你发现自己时,你需要QTextCodec
。你想做的事应该就是这么简单:
QString src = "My test string";
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QByteArray encodedString = codec->fromUnicode(src);