public static Int16 GetInt16(byte[] value, FFEndianType endian, int offset, int length)
 {
     FFInt16 ffValue = new FFInt16();
     if (endian == FFEndianType.BigEndian)
     {
         ffValue.Value1 = value[0];
         ffValue.Value2 = value[1];
     }
     else
     {
         ffValue.Value1 = value[1];
         ffValue.Value2 = value[0];
     }
     return ffValue.Value;
 }
        public static Int16 GetInt16(byte[] value, FFEndianType endian, int offset, int length)
        {
            FFInt16 ffValue = new FFInt16();

            if (endian == FFEndianType.BigEndian)
            {
                ffValue.Value1 = value[0];
                ffValue.Value2 = value[1];
            }
            else
            {
                ffValue.Value1 = value[1];
                ffValue.Value2 = value[0];
            }
            return(ffValue.Value);
        }
        private static FFEndianType FindSystemEndianType()
        {
            FFInt16 ffValue = new FFInt16()
            {
                Value = 0x1234
            };

            if (ffValue.Value1 == 0x12 && ffValue.Value2 == 0x34)
            {
                return(FFEndianType.BigEndian);
            }
            else
            {
                return(FFEndianType.LittleEndian);
            }
        }
        public static byte[] GetInt16Bytes(Int16 value, FFEndianType endian)
        {
            FFInt16 ffValue = new FFInt16() { Value = value };
            byte[] result = new byte[2];

            if ((endian == FFEndianType.BigEndian && SystemEndianType == FFEndianType.LittleEndian) ||
                (endian == FFEndianType.LittleEndian && SystemEndianType == FFEndianType.BigEndian))
            {
                result[0] = ffValue.Value2;
                result[1] = ffValue.Value1;
            }
            else
            {
                result[0] = ffValue.Value1;
                result[1] = ffValue.Value2;
            }
            return result;
        }
        public static byte[] GetInt16Bytes(Int16 value, FFEndianType endian)
        {
            FFInt16 ffValue = new FFInt16()
            {
                Value = value
            };

            byte[] result = new byte[2];

            if ((endian == FFEndianType.BigEndian && SystemEndianType == FFEndianType.LittleEndian) ||
                (endian == FFEndianType.LittleEndian && SystemEndianType == FFEndianType.BigEndian))
            {
                result[0] = ffValue.Value2;
                result[1] = ffValue.Value1;
            }
            else
            {
                result[0] = ffValue.Value1;
                result[1] = ffValue.Value2;
            }
            return(result);
        }
 private static FFEndianType FindSystemEndianType()
 {
     FFInt16 ffValue = new FFInt16() { Value = 0x1234 };
     if (ffValue.Value1 == 0x12 && ffValue.Value2 == 0x34) return FFEndianType.BigEndian;
     else return FFEndianType.LittleEndian;
 }