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