2013-01-31 27 views
5

có thể phân tích cú pháp bộ đệm giao thức google đến mà không có bất kỳ tệp .proto nào không? Tôi chỉ bây giờ nó đã được tuần tự hóa bằng cách sử dụng bộ đệm giao thức nhưng không có ý tưởng về tập tin IDL.Phân tích cú pháp giao thức Bộ đệm Google mà không có tệp .proto?

Tôi đang tìm cách để chỉ lặp qua bất kỳ giá trị nào bằng một số loại phản ánh? Điều này có thể không?

Cảm ơn bạn!

+2

Bạn có thể sử dụng 'protoc' để kiểm tra cấu trúc của một thư hiện có, nhưng nó sẽ phần lớn là phỏng đoán mà bạn có thể sử dụng để * xây dựng thủ công * một giản đồ. Không có lược đồ, định dạng không rõ ràng. –

Trả lời

5

protoc --decode_raw < my_file

Bạn cần phải thực hiện những điều sau đây vào tài khoản khi kiểm tra kết quả:

  • Không ai trong số các tên trường có thể nhìn thấy, chỉ số thẻ.
  • Tất cả các trường biến thể được hiển thị dưới dạng số nguyên. Điều này là ok cho hầu hết các loại, nhưng sint * sẽ xuất hiện ở định dạng "ngoằn ngoèo".
  • Đôi và nổi sẽ được hiển thị dưới dạng hex.
  • Byte, trường chuỗi và submessages tất cả xuất hiện giống nhau, nghĩa là chỉ một loạt các byte.

Nếu bạn muốn giải mã các tin nhắn theo chương trình, bạn có thể viết tệp .proto của riêng mình sau khi bạn đã tìm hiểu ý nghĩa của các trường đó bằng phương pháp trên.

+1

Cảm ơn các gợi ý! –

Các vấn đề liên quan