BinaryWriterエンディアンの問題
-
20-09-2019 - |
質問
私は、ディスクへのバイナリファイルを書き込むことがBinaryWriterクラスを使用しています。私は符号なしshort値を渡して、Writeメソッドを呼び出すと、それはリトルエンディアン形式で書き込みます。たとえばます:
bw.Write(0xA000);
は、0x00の0xA0をなどのバイナリファイルに値を書き込みます。 BInaryWriterはビッグエンディアンを使用する方法はありますか?そうでない場合、それがBinaryWriterを継承し、新しいクラスを作成し、それがビッグエンディアンを書く作るために書き込み機能をオーバーロードすることは可能でしょうか?
解決
あなたは MiscUtil の中で私のEndianBinaryWriter
を使用することができます。それはあなたが欲しいエンディアンを指定できます。 EndianBinaryReader
とEndianBitConverter
もあります。
EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big,
stream);
writer.Write(...);
これはブログに与えられた理由のために、BinaryWriter
から派生していませんに投稿します。
他のヒント
は、Microsoftが接続によれば、現在サポートされていない:のhttp:/ /connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=484149する
所属していません StackOverflow