JD2022-TU1/main/tools/framework/JD.Serialization/Serializers/Binary/BigEndianBinaryWriter.cs

52 lines
No EOL
1.3 KiB
C#

using System;
using System.IO;
namespace JD.Serialization
{
class BigEndianBinaryWriter : BinaryWriter
{
public BigEndianBinaryWriter(System.IO.Stream stream) : base(stream) { }
public override void Write(float _value)
{
var a32 = BitConverter.GetBytes(_value);
Array.Reverse(a32);
base.Write(a32);
}
public override void Write(double _value)
{
var a64 = BitConverter.GetBytes(_value);
Array.Reverse(a64);
base.Write(a64);
}
public override void Write(int _value)
{
var a32 = BitConverter.GetBytes(_value);
Array.Reverse(a32);
base.Write(a32);
}
public override void Write(short _value)
{
var a16 = BitConverter.GetBytes(_value);
Array.Reverse(a16);
base.Write(a16);
}
public override void Write(long _value)
{
var a64 = BitConverter.GetBytes(_value);
Array.Reverse(a64);
base.Write(a64);
}
public override void Write(uint _value)
{
var a32 = BitConverter.GetBytes(_value);
Array.Reverse(a32);
base.Write(a32);
}
}
}