C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

文字列をバイナリデータに書き込む

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■93656 / inTopicNo.1)  文字列をバイナリデータに書き込む
  
□投稿者/ kai (1回)-(2020/01/05(Sun) 13:53:47)

分類:[.NET 全般] 

VB.NETを使っております。

文字列をバイナリデータに書き込みたいのですが、
書き込むだけだと以下のようにできることは分かるのですが、

Dim Mozi As String
writer.Write(System.Text.Encoding.Default.GetBytes(Mozi))

この方法だと、文字列の文字数も同時に書き込む必要があり不便です。

確か、文字数も同時に書き込むフォーマットがあったような気がするのですが
どのようにするのでしたでしょうか?


引用返信 編集キー/
■93657 / inTopicNo.2)  Re[1]: 文字列をバイナリデータに書き込む
□投稿者/ Hongliang (948回)-(2020/01/05(Sun) 14:14:48)
フォーマットというのは知りません。

機能としては、BinaryWriterのWrite(String)は先頭に文字列長を埋め込む仕様ですね。
ちなみにこのメソッドが出力する「文字列長」は可変長になっています(細かい仕様は忘れましたが)ので、任意の文字数の文字列を書き込めます。
使用するEncodingはNew BinaryWriter(Stream, Encoding)コンストラクタで指定できます。

// 個人的には、バイナリで書きだすということはアプリごとの厳密なバイナリ化仕様があるはずなので、
// そこにライブラリ任せの文字列長を付加させるようなメソッドは用がないのですが……。
引用返信 編集キー/
■93658 / inTopicNo.3)  Re[2]: 文字列をバイナリデータに書き込む
□投稿者/ kai (2回)-(2020/01/05(Sun) 19:25:34)
BinaryWriterのWrite(String)
で良いのですね
どうもありがとうございました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ