小编ste*_*etz的帖子

波斯语中的QString

我给了Qt的项目,该项目需要支持波斯language.T他的数据从服务器发送和使用的第一线,我得到一个QByteArray中,并使用第二线将其转换为QString的:

    QByteArray readData = socket->readAll();
    QString DataAsString = QTextCodec::codecForUtfText(readData)->toUnicode(readData);
Run Code Online (Sandbox Code Playgroud)

当数据发送是英文时,一切都很好,但是当它是波斯语时,而不是

????
Run Code Online (Sandbox Code Playgroud)

我明白了

سÙ\u0084اÙ\u0085
Run Code Online (Sandbox Code Playgroud)

我提到了这个过程,所以人们不会建议制作使用.tr的多语言应用程序的方法.所有关于文本和解码都不是那些翻译方法.我的操作系统是Windows 8.1(对于你需要知道它的情况).

当服务器发送سلام时,我得到这个十六进制值

0008d8b3d984d8a7d985
Run Code Online (Sandbox Code Playgroud)

顺便说一句,服务器在开始时发送两个额外的字节,原因我不知道.所以我用以下方法切断它:

DataAsString.remove(0,2);
Run Code Online (Sandbox Code Playgroud)

在它被转换为QString之后,十六进制值在乞讨时有一些额外的.

感谢您阅读我的帖子.

c++ qt text decoding

8
推荐指数
1
解决办法
230
查看次数

标签 统计

c++ ×1

decoding ×1

qt ×1

text ×1