UTF-16 形式のバイトを含む QByteArray があります。
Java プログラムは、ソケット経由で QT プログラムにデータを送信します。
//dos is DataOutPutStream
dos.writeChars("hello world");
QT プログラムの受信側では、ソケットからデータを QByteArray に読み込み、それを QString に変換したいと考えています。0h0e0l0l0o0 0w0o0r0l0d を持つ QByteArray のデータ変数を調べる
このようにQStringを作成しようとすると
QString str(byteArray)
結果の文字列は、最初と ofcouse で 0 バイトに遭遇したため、おそらく空です。これは、使用しているコンストラクターのドキュメントに、内部的に fromAscii を使用していて、渡したものが ascii ではないことが記載されているためです。
どうにかして QString::fromUTF-16 を使用する必要があると思いますが、それには ushort* が必要で、QbyteArray があります。
どうするのが一番いいのかアドバイスお願いします。
ありがとう、