What's the return value of ParseFromString()? I would guess that it might
be returning false because of a problem with the serialized data.

On Mon, Nov 18, 2019 at 12:34 PM Bowfish <[email protected]> wrote:

>
> void ArcaDbSetRequest::on_responseSuccessful(const QByteArray length,
> const QByteArray message)
> {
>     Q_UNUSED(length)
>
>     // Create a new CryptoResponse
>     arca_db::DatabaseSetResponse *m_arcaDatabaseSetResponse = new arca_db
> ::DatabaseSetResponse();
>     // Parse the message and convert it to a std::string
>     m_arcaDatabaseSetResponse->ParseFromString(message.toStdString());
>     // Extract the header of the response
>     arca_firmware::FirmwareMessageHeader header =
> m_arcaDatabaseSetResponse->header();
>
>     qDebug() << "header {";
>     qDebug() << "\tversion : " << header.version();
>     qDebug() << "\tservice : " << header.service();
>     qDebug() << "\tpeer_id : " << header.peer_id();
>     qDebug() << "\tresponse: " << header.response();
>     qDebug() << "\terror   : " << QString::fromStdString(header.error());
>     qDebug() << "}";
> }
>
>
> Am Montag, 18. November 2019 20:57:28 UTC+1 schrieb Bowfish:
>
>> I want to parse a string with the c++ ParseFromString function. The
>> string contains \x00. It seems that this function cuts the string at \x00.
>> Is this possible?
>>
>> Here is some debug output which I used to investigate this:
>>
>> // This is before ParseFromString
>>
>> response message:
>> "\n\x0F\b\x01\x10\x04\x19\x8D\xD2z\xBF\x00\x00\x00\x00(\x01\x10\x02\x1AX0V0\x10\x06\x07*\x86H\xCE=\x02\x01\x06\x05+\x81\x04\x00\n\x03""B\x00\x04\x87W\xBBw\xF3\xE8\xAD\xA8y\n\x9E\xA0\xC5\xF0.\xFD""e>L\xD1k\xE6\x80\xCBZ\xD2\x8E\x89?\xD6#\xFF(\xAF#J\x12\xB5\x17""db\xD8\xDCY?\x8B\x98\xFE\x15NL\x9B;\x8A\xE3\xC0\xF1\xC4\xA5;\x07\x86\xE6\xD5"
>> response length : "6d000000"
>> response length : 109
>> response message:
>> "\n\u000F\b\u0001\u0010\u0004\u0019��z�\u0000\u0000\u0000\u0000(\u0001\u0010\u0002\u001AX0V0\u0010\u0006\u0007*�H�=\u0002\u0001\u0006\u0005+�\u0004\u0000\n\u0003B\u0000\u0004�W�w�譨y\n����.�e>L�k���ZҎ�?�#�(�#J\u0012�\u0017db��Y?���\u0015NL�;����ĥ;\u0007���"
>>
>>
>>
>> // This is after I call the function from the protobuf Object which
>> should extract the public key
>> // But the public key should be much longer. It shows only the part which
>> is before \x00
>> 0V0*�H�=+�
>> public key raw: "0V0\x10\x06\x07*\x86H\xCE=\x02\x01\x06\x05+\x81\x04"
>> 0V0*�H�=+�
>> public key raw: "0V0\x10\x06\x07*\x86H\xCE=\x02\x01\x06\x05+\x81\x04"
>> public key hex: "3056301006072a8648ce3d020106052b8104"
>>
>> Thanks for your help
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/protobuf/6a50962e-9902-496a-b23c-7094820926da%40googlegroups.com
> <https://groups.google.com/d/msgid/protobuf/6a50962e-9902-496a-b23c-7094820926da%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr5A8fEv-1Sa-izr_TjoP5dSi7w70931Nv_EDzMNwRdU8A%40mail.gmail.com.

Reply via email to