2011-12-07 6 views

答えて

29
+0

は、残念ながらまだ文字列にシリアライズJavaで。しかし、リンクのおかげで。 –

+8

いいえ、ドキュメントによると、対応するJavaの型はByteStringです。 'toByteArray'メソッドを使用して、バイト配列自体を取得できます。 – JesperE

+0

byte []配列を既に持っている場合は、LiteralByteStringだけを使用して、それをコピーする必要はありません。 – marios

7

あなたは単一バイトを保存するために探している場合は、しかし、私はのInt32を使用してお勧めします。それはそれに格納されているデータに応じてサイズを変更する 'variant'型変数です。したがって、1バイトを格納する場合は、最小の構造になります。バイトSのデータ型は実際にはかなり大きいです。これは、バイト構造がインデックスの長さなどのデータを保持するためです。

シリアライズでは、byteSに格納されている1バイトからint32に切り替えると、サイズの差が約半分になったことに気付きました。この私は個々のInt32を記憶するよりもはるかに小さいであろう思われるバイトに格納される複数バイトには適用されないことが

注、、。

3

延ByteStringクラスは「バイト」protobuff型にいくつかの種類を変換する方法を提供したり延ByteString

public static ByteString CopyFrom(params byte[] bytes); 
public static ByteString CopyFrom(string text, Encoding encoding); 
関連する問題