51 lines
No EOL
1.3 KiB
C#
51 lines
No EOL
1.3 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace JD.Serialization
|
|
{
|
|
class BigEndianBinaryReader : BinaryReader
|
|
{
|
|
public BigEndianBinaryReader(Stream stream)
|
|
: base(stream)
|
|
{ }
|
|
|
|
public override float ReadSingle()
|
|
{
|
|
var a32 = base.ReadBytes(4);
|
|
Array.Reverse(a32);
|
|
return BitConverter.ToSingle(a32, 0);
|
|
}
|
|
|
|
public override double ReadDouble()
|
|
{
|
|
var a64 = base.ReadBytes(8);
|
|
Array.Reverse(a64);
|
|
return BitConverter.ToDouble(a64, 0);
|
|
}
|
|
|
|
public override int ReadInt32()
|
|
{
|
|
var a32 = base.ReadBytes(4);
|
|
Array.Reverse(a32);
|
|
return BitConverter.ToInt32(a32, 0);
|
|
}
|
|
public override Int16 ReadInt16()
|
|
{
|
|
var a16 = base.ReadBytes(2);
|
|
Array.Reverse(a16);
|
|
return BitConverter.ToInt16(a16, 0);
|
|
}
|
|
public override Int64 ReadInt64()
|
|
{
|
|
var a64 = base.ReadBytes(8);
|
|
Array.Reverse(a64);
|
|
return BitConverter.ToInt64(a64, 0);
|
|
}
|
|
public override UInt32 ReadUInt32()
|
|
{
|
|
var a32 = base.ReadBytes(4);
|
|
Array.Reverse(a32);
|
|
return BitConverter.ToUInt32(a32, 0);
|
|
}
|
|
}
|
|
} |