web-dev-qa-db-ja.com

protobufを使用するときに文字列をByteStringに変換する方法は?

文字列オブジェクトをByteStringに変換したいのですが、ByteString.CopyFrom()関数を使用して変換しようとしましたが、戻り値は常に「{Google.ProtocolBuffers.ByteString}」です。なぜですか。どのようにできるのか?

私がこのように使用する関数。

結果

8
Boreas

stringは正常にByteStreamに変換されました。ウォッチウィンドウに{Google.ProtocolBuffers.ByteString}が表示されている場合は、単にByteStreamToStringメソッドをオーバーライドしていないことを意味します。つまり、VisualStudioはByteStreamを表示する方法を知らないため、代わりに型名を表示するだけです。

とはいえ、文字列を直接使用できるようにするCopyFromメソッドのオーバーロードがあります。

var APP_DEF_TEA_KEY = ByteString.CopyFrom("e#>&*m16", Encoding.Unicode);
4
Kevin Gosse

docs によると、_Google.ProtocolBuffers.ByteStream_には、コンテンツの表示方法を知るためのエンコードが必要です。 ByteStream.ToString(Encoding encoding)またはByteStream.ToStringUtf8()を使用します。

0
quimnuss