エンディアン変更
IPAddress.HostToNetworkOrderとかIPAddress.NetworkToHostOrderがあるのは知ってるけど
ネットワークで使うときでないときはなんか違う気がするんだ。
にしてもなんでsignedだけなんだ
public static ushort ToBigEndianUInt16( this byte[] source ) { return BitConverter.ToUInt16( GetCorrectEndian( source ), 0 ); } public static uint ToBigEndianUInt32( this byte[] source ) { return BitConverter.ToUInt32( GetCorrectEndian( source ), 0 ); } public static ulong ToBigEndianUInt64( this byte[] source ) { return BitConverter.ToUInt64( GetCorrectEndian( source ), 0 ); } private static byte[] GetCorrectEndian( byte[] source ) { byte[] buffer; if ( BitConverter.IsLittleEndian ) { buffer = source.Reverse().ToArray(); } else { buffer = source; } return buffer; }