2011-12-07 9 views

risposta

29
+0

serializza Purtroppo ancora da stringhe in java. Ma grazie per il link. –

+8

No, secondo la documentazione il tipo Java corrispondente è 'ByteString'. È possibile ottenere la matrice di byte stessa utilizzando il metodo 'toByteArray'. – JesperE

+0

Nel caso in cui l'array byte [] sia già in uso, basta usare LiteralByteString per non doverlo copiare. – marios

7

se si sta cercando di memorizzare un byte singolo, tuttavia, vi suggerirei di usare l'Int32. È una variabile di tipo "variante" che cambierà la dimensione in base ai dati che sono memorizzati in essa. Quindi se stai memorizzando un singolo byte, sarà la struttura più piccola. Il tipo di dati byteS è in realtà piuttosto grande in confronto. Questo perché la struttura dei byte contiene dati come la lunghezza dell'indice e altre proprietà.

In caso di serializzazione, ho notato una differenza di dimensione di circa la metà quando si passa da un singolo byte memorizzato in un byte a un int32.

noti, tuttavia, non quali l'si applica alle multipli byte che vengono memorizzati nei byte, che temo sarà molto più piccola di memorizzazione individuale Int32.

3

La classe ByteString fornisce metodi per convertire alcuni tipi di tipo protobuff "byte" o ByteString

public static ByteString CopyFrom(params byte[] bytes); 
public static ByteString CopyFrom(string text, Encoding encoding); 
Problemi correlati