【发布时间】:2012-07-02 00:33:20
【问题描述】:
我有一个 QByteArray,其中包含 UTF-16 格式的字节。
Java 程序使用
通过套接字向 QT 程序发送数据//dos is DataOutPutStream
dos.writeChars("hello world");
在 QT 程序的接收端,我将数据从套接字读取到 QByteArray,我想将其转换为 QString。检查 QByteArray 的数据变量它有 0h0e0l0l0o0 0w0o0r0l0d
当我尝试像这样用它制作一个 QString 时
QString str(byteArray)
生成的字符串可能是空的,可能是因为它在开始时遇到了一个 0 字节,并且因为我使用的构造函数的文档说它在内部使用 fromAscii 而我传递的不是 ascii。
我想我必须以某种方式使用 QString::fromUTF-16 但这需要一个 ushort* 并且我有一个 QbyteArray。
请告知最好的方法。
谢谢,
【问题讨论】: