[英]Retrieve byte array from c# webservice into Qt
我使用以C#编写的Web服务,该服务公开了存储在数据库中(使用实体框架)的音频文件(mp3文件)的字节数组。
当我在c#中检索它并使用File.WriteAllBytes()将其保存到文件中时,我可以收听音频(文件大小为10kB)。
我需要对Qt做同样的事情。 我解析xml并将音频字节数组保存为QByteArray,如下所示:
QByteArray bytes = readValue().toUtf8();
其中readValue()是QStringRef,然后将其保存到文件
qint64 bytesWritten = file.write(bytes);
然后使用文件hes 14kB,我想是有格式问题,但不确定在哪里。
我解决了这个问题。 在Web服务中,我将字节数组转换器返回到十六进制字符串
string hex = BitConverter.ToString(ba);
string hexString = hex.Replace("-", "");
然后在Qt中我解析数据
QByteArray bytes = QByteArray::fromHex(readValue().toString().toLatin1()));
并保存到文件
qint64 bytesWritten = file.write(bytes);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.