Numéro BinaryWriter Endian

J’utilise la classe BinaryWriter pour écrire un fichier binary sur le disque. Lorsque j’appelle la méthode Write en passant une valeur courte non signée, elle l’écrit au format little-endian. Par exemple:

bw.Write(0xA000); 

écrit la valeur dans le fichier binary en tant que 0x00 0xA0. Y at-il un moyen de faire en sorte que BInaryWriter utilise Big Endian? Sinon, est-il possible de créer une nouvelle classe, en héritant de BinaryWriter et en surchargeant la fonction Write pour lui faire écrire du gros endian?

Vous pouvez utiliser mon EndianBinaryWriter dans MiscUtil . Cela vous permet de spécifier l’endianité souhaitée. Il y a aussi EndianBinaryReader et EndianBitConverter .

 EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big, stream); writer.Write(...); 

Il ne provient pas de BinaryWriter , pour des raisons données dans un article de blog .

Selon Microsoft Connect, il n’est actuellement pas pris en charge: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=484149.