2014-09-17 13 views

risposta

5

È possibile spesso dedurre lo schema. Infatti, IIRC lo strumento "protoc" ha una serie di parametri (--decode_raw, iirc) dove farà esattamente questo - facendo ipotesi informate. Tuttavia, è un'ipotesi - il formato è ambiguo che più diversi tipi di dati possono essere memorizzati nei stessi meccanismi - per esempio, un pezzo di lunghezza con prefisso potrebbe essere:

  • un sotto-oggetto (di qualsiasi tipo di utente)
  • un allineamento al sacco (di vari tipi primitivi)
  • una stringa UTF-8
  • un byte greggio []
  • e probabilmente qualcos'altro che sto dimenticando

Allo stesso modo, un chunk di larghezza fissa di 4 byte può essere un numero intero a larghezza fissa o un valore float; il numero intero potrebbe essere firmato o non firmato.

+1

Trovato un esempio: http://stackoverflow.com/a/12378656/23354 –

+0

Sono stanco di alimentare un file che viene serializzato con esso, e ho scritto protoc nomefile.protobuf --decode_raw e dice che nessun file di input deve be givien –

+0

@moaz vedi l'esempio? –