For example, Unicode characters on an Intel box in C++ are stored in little endian format. In Java, Unicode characters are stored in big endian format. All of the stored binary strings have to have bytes flipped both inbound and outbound. Also, Java does not have unsigned primitive types and the legacy binary format that I'm using makes extensive use of unsigned math when reading the data.
All of this makes life exciting. :)