For space efficiency, I have decided to code my save files using binary. Every byte represents an id for the type of tile. Would this cause an issue with different Endian computing?

Also, out of curiosity, is it the CPU or the operating system which sets the Endian type?

Additional information: I am using C++ and building an x-platform game. I do not want to use an additional API such as Boost.