decode protocbuf посредством php (или linux shell)
здраствуйте, есть готовый скрипт js(browser) который отправляет отправляет вот такой bin текст playload Content-Type: application/x-protobuf
0
$xxxxxxxx-xxxx-xxxx-xxxx-b9bbf8e86d27²
ту самую информацию можно перед отправкой посмотреть,
trx: "xxxxxxxx-xxxx-xxxx-xxxx-b9bbf8e86d27"
action: "siteConfig"
через
./protoc --decode-raw < file.bin > file.output
получаю кашу и не знаю как text-format преобразовать в json
суть вопроса, в том, как на стороне сервера эту информацию преобразить encode/decode, времени у меня в обрез(немогу сейчас в изучение нырнуть увы), если мало debug информации я все оперативно добавлю, пожалуйста помогите
Ответы (1 шт):
Просто нужно декодировать полностью, а не в сыром виде.
protoc --decode header my.proto < b.bin
header- это имя класса в прото файле.my.proto- это собственно сам прото файл
вывод будет более красивым и похожим на то, что Вы ожидаете.
В самом закодированном бинарном файле не сохраняются имена полей, поэтому вместо них можно увидеть только числа-индексы. Если сам прото файл доступен, то эти индексы можно подсмотреть.
Без прото файла декодировать имена полей с бинарных данных не возможно.
Но если у Вас есть приложение, которое использует этот протобаф, можно в самом бинаре очень часто все увидеть.