文字列オブジェクトをByteStringに変換したいのですが、ByteString.CopyFrom()関数を使用して変換しようとしましたが、戻り値は常に「{Google.ProtocolBuffers.ByteString}」です。なぜですか。どのようにできるのか?
string
は正常にByteStream
に変換されました。ウォッチウィンドウに{Google.ProtocolBuffers.ByteString}が表示されている場合は、単にByteStream
がToString
メソッドをオーバーライドしていないことを意味します。つまり、VisualStudioはByteStream
を表示する方法を知らないため、代わりに型名を表示するだけです。
とはいえ、文字列を直接使用できるようにするCopyFrom
メソッドのオーバーロードがあります。
var APP_DEF_TEA_KEY = ByteString.CopyFrom("e#>&*m16", Encoding.Unicode);
docs によると、_Google.ProtocolBuffers.ByteStream
_には、コンテンツの表示方法を知るためのエンコードが必要です。 ByteStream.ToString(Encoding encoding)
またはByteStream.ToStringUtf8()
を使用します。