从c#webservice检索字节数组到Qt

时间:2015-05-20 11:38:31

标签: c# qt format bytearray

我使用用c#编写的webservice来公开存储在数据库中的音频文件(mp3文件)的bytearray(使用实体框架)。

当我在c#中检索它并使用File.WriteAllBytes()将其保存到文件中时,我可以收听音频(文件大小为10kB)。

我需要对Qt做同样的事情。我解析xml并将音频字节数组保存到QByteArray,如下所示:

QByteArray bytes = readValue().toUtf8(); 

其中readValue()是QStringRef,然后我将其保存到文件

qint64 bytesWritten = file.write(bytes);

文件是14kB然后,我想有一些格式问题但不确定在哪里。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。在webservice中,我将字节数组转换器返回到十六进制字符串

string hex = BitConverter.ToString(ba);
string hexString = hex.Replace("-", "");

然后在Qt我解析数据

QByteArray bytes = QByteArray::fromHex(readValue().toString().toLatin1()));

并将其保存到文件

qint64 bytesWritten = file.write(bytes);