我有一个 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。
请告知最好的方法是什么。
谢谢,