LINUX.ORG.RU

Protobuf трабл

 ,


1

2

Доброго дня. Допустим есть

message Message
{
   required string str = 1;
}
Если в поле str записать сериализованный Message, то Protobuf валится с ошибкой:

libprotobuf ERROR google/protobuf/wire_format.cc:1059] Encountered string containing invalid UTF-8 data while serializing protocol buffer. Strings must contain only UTF-8; use the 'bytes' type for raw bytes.

Вопрос: как в поле str ( оно должно оставаться string, т.к. туда помимо сериализованного Message может записываться любая строка) записать то, что требуется, не изменяя при этом Message?

P.S. Если кого-то заинтересует зачем надо так извращаться, или найдутся желающие сказать очередное «не нужно» - идите лесом.

Переведи в хекс(байз64, что угодно) строку и записывай.
Хотя пойду лесом, честно не понимая зачем так извращаться.

zJes ★★
()

Тебе нужна рекурсия из Message?

O02eg ★★★★★
()

У товарищей с фамилией Новиков какая-то плохая карма. Как можно быть настолько непроходимыми? Найди здесь Сережу, вы подружитесь, инфа 100%.

anonymous
()
Ответ на: комментарий от metrokto

Потому что оно на Node.js вертится и общается с C++ приложением посредством Protobuf.

Ilya-Novikov
() автор топика
Ответ на: комментарий от vromanov

Не, надо чтобы тип был именно string, т.к. от этого уже очень много зависит.

Ilya-Novikov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.