0x9B530150 -> 0x5001539B -> 01(year_1) 010000(flags) 00(hour_2) 000001(minute) 01010(day) 011(hour_1) 1001(year_2) 1011(month) month 1011 -> 11 year 01 1001 -> 25 day = 01010 -> 10 hour = 011 00 -> 12 minute = 000001 -> 1 with no endianness change should be: 1001(year_2) 1011(month) 01010(day) 01100(hour) 000001(minute) 01(year_1) 010000(flags) with your data: 1001(year_2) 1011(month) 01010(day) 01011 (hour) 000011(minute) 01(year_1) 010000(flags) 16+9=25 11 10 11 3